diff --git a/tests/data/devices/bituo-technik-spm01x.json b/tests/data/devices/bituo-technik-spm01x.json new file mode 100644 index 000000000..d7863cf7e --- /dev/null +++ b/tests/data/devices/bituo-technik-spm01x.json @@ -0,0 +1,988 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:42:27:1a:38", + "nwk": "0x6EE1", + "manufacturer": "BITUO TECHNIK", + "model": "SPM01X", + "friendly_manufacturer": "BITUO TECHNIK", + "friendly_model": "SPM01X", + "name": "BITUO TECHNIK SPM01X", + "quirk_applied": true, + "quirk_class": "zhaquirks.bituo.spm01:(BITUO TECHNIK / SPM01X)", + "exposes_features": [], + "manufacturer_code": 4630, + "power_source": "Mains", + "lqi": 140, + "rssi": -65, + "last_seen": "2026-06-22T22:25:35.847116+00:00", + "available": true, + "device_type": "Router", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "Router", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 4630, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "undefined_0x0501", + "id": 1281 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0001", + "name": "app_version", + "zcl_type": "uint8", + "value": 14 + }, + { + "id": "0x0003", + "name": "hw_version", + "zcl_type": "uint8", + "value": 1 + }, + { + "id": "0x0010", + "name": "location_desc", + "zcl_type": "string", + "value": "01.00.14" + }, + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "BITUO TECHNIK" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "SPM01X" + }, + { + "id": "0x4000", + "name": "sw_build_id", + "zcl_type": "string", + "value": "003.00.13" + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "value": 0 + }, + { + "id": "0x4003", + "name": "start_up_on_off", + "zcl_type": "enum8", + "unsupported": true + } + ] + }, + { + "cluster_id": "0x0702", + "endpoint_attribute": "smartenergy_metering", + "attributes": [ + { + "id": "0x0000", + "name": "current_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0304", + "name": "demand_formatting", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0302", + "name": "divisor", + "zcl_type": "uint24", + "value": 100 + }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": true + }, + { + "id": "0x0306", + "name": "metering_device_type", + "zcl_type": "map8", + "value": 0 + }, + { + "id": "0x0301", + "name": "multiplier", + "zcl_type": "uint24", + "value": 1 + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "value": 0 + }, + { + "id": "0x0303", + "name": "summation_formatting", + "zcl_type": "map8", + "value": 0 + }, + { + "id": "0x0300", + "name": "unit_of_measure", + "zcl_type": "enum8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0b04", + "endpoint_attribute": "electrical_measurement", + "attributes": [ + { + "id": "0x0603", + "name": "ac_current_divisor", + "zcl_type": "uint16", + "value": 100 + }, + { + "id": "0x0602", + "name": "ac_current_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0300", + "name": "ac_frequency", + "zcl_type": "uint16", + "value": 5000 + }, + { + "id": "0x0401", + "name": "ac_frequency_divisor", + "zcl_type": "uint16", + "value": 100 + }, + { + "id": "0x0302", + "name": "ac_frequency_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0400", + "name": "ac_frequency_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0605", + "name": "ac_power_divisor", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "value": 100 + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x050b", + "name": "active_power", + "zcl_type": "int16", + "value": 0 + }, + { + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090d", + "name": "active_power_max_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0d", + "name": "active_power_max_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "unsupported": true + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "value": 1 + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 100 + }, + { + "id": "0x0910", + "name": "power_factor_ph_b", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0a10", + "name": "power_factor_ph_c", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "value": 1 + }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x050a", + "name": "rms_current_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x090a", + "name": "rms_current_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a0a", + "name": "rms_current_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0505", + "name": "rms_voltage", + "zcl_type": "uint16", + "value": 22650 + }, + { + "id": "0x0507", + "name": "rms_voltage_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0907", + "name": "rms_voltage_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a07", + "name": "rms_voltage_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": true + } + ] + }, + { + "cluster_id": "0x0b05", + "endpoint_attribute": "diagnostic", + "attributes": [] + }, + { + "cluster_id": "0xfc00", + "endpoint_attribute": "manufacturer_specific", + "attributes": [] + } + ], + "out_clusters": [ + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [] + }, + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 14 + } + ] + }, + { + "cluster_id": "0xfc00", + "endpoint_attribute": "manufacturer_specific", + "attributes": [] + } + ] + } + }, + "original_signature": { + "manufacturer": "BITUO TECHNIK", + "model": "SPM01X", + "node_desc": { + "logical_type": 1, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 4630, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0501", + "input_clusters": [ + "0x0000", + "0x0003", + "0x0006", + "0x0702", + "0x0b04", + "0x0b05", + "0xfc00" + ], + "output_clusters": [ + "0x0003", + "0x0006", + "0x0019", + "0xfc00" + ] + } + } + }, + "zha_lib_entities": { + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Reset energy", + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-on", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "Button", + "translation_key": "reset_energy", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "on", + "args": [], + "kwargs": {} + }, + "state": { + "class_name": "Button", + "available": true + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": 140 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": -65 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-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:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 3, + "unit": "kWh" + }, + "state": { + "class_name": "SmartEnergySummation", + "available": true, + "state": 0.0, + "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, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-1794-summation_received", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "SmartEnergySummationReceived", + "translation_key": "summation_received", + "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:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 3, + "unit": "kWh" + }, + "state": { + "class_name": "SmartEnergySummationReceived", + "available": true, + "state": 0.0, + "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, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-2820", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementActivePower", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "W" + }, + "state": { + "class_name": "ElectricalMeasurementActivePower", + "available": true, + "state": 0.0 + }, + "extra_state_attributes": [ + "active_power_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-2820-ac_frequency", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementFrequency", + "translation_key": "ac_frequency", + "translation_placeholders": null, + "device_class": "frequency", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "Hz" + }, + "state": { + "class_name": "ElectricalMeasurementFrequency", + "available": true, + "state": 50.0 + }, + "extra_state_attributes": [ + "ac_frequency_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-2820-apparent_power", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementApparentPower", + "translation_key": null, + "translation_placeholders": null, + "device_class": "apparent_power", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "VA" + }, + "state": { + "class_name": "ElectricalMeasurementApparentPower", + "available": true, + "state": 0.0 + }, + "extra_state_attributes": [ + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-2820-power_factor", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementPowerFactor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power_factor", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "%" + }, + "state": { + "class_name": "ElectricalMeasurementPowerFactor", + "available": true, + "state": 100 + }, + "extra_state_attributes": [ + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-2820-rms_current", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSCurrent", + "translation_key": null, + "translation_placeholders": null, + "device_class": "current", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 2, + "unit": "A" + }, + "state": { + "class_name": "ElectricalMeasurementRMSCurrent", + "available": true, + "state": 0.0 + }, + "extra_state_attributes": [ + "measurement_type", + "rms_current_max" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-2820-rms_voltage", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSVoltage", + "translation_key": null, + "translation_placeholders": null, + "device_class": "voltage", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "V" + }, + "state": { + "class_name": "ElectricalMeasurementRMSVoltage", + "available": true, + "state": 226.5 + }, + "extra_state_attributes": [ + "measurement_type", + "rms_voltage_max" + ] + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:42:27:1a:38-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:42:27:1a:38", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x0000000e", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/heiman-hm-636thv-ac-m.json b/tests/data/devices/heiman-hm-636thv-ac-m.json new file mode 100644 index 000000000..cf1946ada --- /dev/null +++ b/tests/data/devices/heiman-hm-636thv-ac-m.json @@ -0,0 +1,1101 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:66:d4:00:3c", + "nwk": "0x703A", + "manufacturer": "HEIMAN", + "model": "HM-636THV-AC-M", + "friendly_manufacturer": "HEIMAN", + "friendly_model": "HM-636THV-AC-M", + "name": "HEIMAN HM-636THV-AC-M", + "quirk_applied": true, + "quirk_class": "zhaquirks.heiman.hm_636thv_ac_m:(HEIMAN / HM-636THV-AC-M)", + "exposes_features": [ + "siren_basic" + ], + "manufacturer_code": 4660, + "power_source": "Battery or Unknown", + "lqi": 232, + "rssi": -42, + "last_seen": "2026-06-09T04:48:19.986779+00:00", + "available": true, + "device_type": "EndDevice", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "EndDevice", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 1, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4660, + "maximum_buffer_size": 96, + "maximum_incoming_transfer_size": 1613, + "server_mask": 11776, + "maximum_outgoing_transfer_size": 1613, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "IAS_ZONE", + "id": 1026 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "HEIMAN" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "HM-636THV-AC-M" + } + ] + }, + { + "cluster_id": "0x0001", + "endpoint_attribute": "power", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "value": 200 + }, + { + "id": "0x0033", + "name": "battery_quantity", + "zcl_type": "uint8", + "value": 1 + }, + { + "id": "0x0031", + "name": "battery_size", + "zcl_type": "enum8", + "value": 255 + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "value": 255 + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0402", + "endpoint_attribute": "temperature", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "int16", + "value": 2500 + } + ] + }, + { + "cluster_id": "0x0405", + "endpoint_attribute": "humidity", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "uint16", + "value": 5000 + } + ] + }, + { + "cluster_id": "0x0500", + "endpoint_attribute": "ias_zone", + "attributes": [ + { + "id": "0x0010", + "name": "cie_addr", + "zcl_type": "EUI64", + "value": [ + 50, + 79, + 50, + 2, + 0, + 141, + 21, + 0 + ] + }, + { + "id": "0x0000", + "name": "zone_state", + "zcl_type": "enum8", + "value": 0 + }, + { + "id": "0x0002", + "name": "zone_status", + "zcl_type": "map16", + "value": 32 + }, + { + "id": "0x0001", + "name": "zone_type", + "zcl_type": "enum16", + "value": 40 + } + ] + }, + { + "cluster_id": "0x0b05", + "endpoint_attribute": "diagnostic", + "attributes": [ + { + "id": "0x011d", + "name": "last_message_rssi", + "zcl_type": "int8", + "value": 0 + } + ] + }, + { + "cluster_id": "0xfc90", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x0017", + "name": "chamber_contamination", + "zcl_type": "enum8", + "value": 0 + }, + { + "id": "0x0013", + "name": "co_alarm_level", + "zcl_type": "enum8", + "value": 0 + }, + { + "id": "0x1004", + "name": "heartbeat_indicator", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x1007", + "name": "interconnectable", + "zcl_type": "uint8", + "value": 1 + }, + { + "id": "0x0019", + "name": "rebooted_count", + "zcl_type": "uint16", + "value": 6 + }, + { + "id": "0x001a", + "name": "rejoined_count", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0008", + "name": "remote_mute", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x001b", + "name": "reported_packages", + "zcl_type": "uint16", + "value": 163 + }, + { + "id": "0x0002", + "name": "sensor_fault_state", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x0006", + "name": "sensor_life_state", + "zcl_type": "enum8", + "value": 0 + }, + { + "id": "0x0009", + "name": "sensor_mute_state", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x0001", + "name": "sensor_self_check_state", + "zcl_type": "enum8", + "value": 0 + }, + { + "id": "0x0016", + "name": "smoke_level", + "zcl_type": "uint8", + "value": 0 + } + ] + } + ], + "out_clusters": [ + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 16777216 + } + ] + } + ] + }, + "2": { + "profile_id": 260, + "device_type": { + "name": "IAS_ZONE", + "id": 1026 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x040c", + "endpoint_attribute": "carbon_monoxide_concentration", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "single", + "value": 0.0 + } + ] + }, + { + "cluster_id": "0x0500", + "endpoint_attribute": "ias_zone", + "attributes": [ + { + "id": "0x0010", + "name": "cie_addr", + "zcl_type": "EUI64", + "value": [ + 50, + 79, + 50, + 2, + 0, + 141, + 21, + 0 + ] + }, + { + "id": "0x0000", + "name": "zone_state", + "zcl_type": "enum8", + "value": 1 + }, + { + "id": "0x0002", + "name": "zone_status", + "zcl_type": "map16", + "value": 32 + }, + { + "id": "0x0001", + "name": "zone_type", + "zcl_type": "enum16", + "value": 43 + } + ] + } + ], + "out_clusters": [] + } + }, + "original_signature": { + "manufacturer": "HEIMAN", + "model": "HM-636THV-AC-M", + "node_desc": { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 1, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4660, + "maximum_buffer_size": 96, + "maximum_incoming_transfer_size": 1613, + "server_mask": 11776, + "maximum_outgoing_transfer_size": 1613, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0402", + "input_clusters": [ + "0x0000", + "0x0003", + "0x0500", + "0x0b05", + "0x0001", + "0x0402", + "0x0405", + "0xfc90" + ], + "output_clusters": [ + "0x0019" + ] + }, + "2": { + "profile_id": "0x0104", + "device_type": "0x0402", + "input_clusters": [ + "0x0000", + "0x0003", + "0x0500", + "0x040c" + ], + "output_clusters": [] + } + } + }, + "zha_lib_entities": { + "binary_sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-1280", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "IASZone", + "translation_key": null, + "translation_placeholders": null, + "device_class": "smoke", + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "zone_status" + }, + "state": { + "class_name": "IASZone", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Interconnectable", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-interconnectable", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "interconnectable", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "interconnectable" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": true + } + }, + { + "info_object": { + "fallback_name": "Fault", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-sensor_fault_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "problem", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_fault_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Muted", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-sensor_mute_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "muted", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_mute_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Self-test", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-sensor_self_check_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "self_test_state", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_self_check_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-2-1280", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "IASZone", + "translation_key": null, + "translation_placeholders": null, + "device_class": "carbon_monoxide", + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 2, + "available": true, + "group_id": null, + "attribute_name": "zone_status" + }, + "state": { + "class_name": "IASZone", + "available": true, + "state": false + } + } + ], + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Remote test", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-init_test_mode", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "Button", + "translation_key": "remote_test", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "init_test_mode", + "args": [], + "kwargs": { + "test_mode_duration": 5, + "current_zone_sensitivity_level": 0 + } + }, + "state": { + "class_name": "Button", + "available": true + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": 232 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": -42 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-1", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Battery", + "translation_key": null, + "translation_placeholders": null, + "device_class": "battery", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "%" + }, + "state": { + "class_name": "Battery", + "available": true, + "state": 100.0, + "battery_size": "Unknown", + "battery_quantity": 1, + "battery_voltage": 25.5 + }, + "extra_state_attributes": [ + "battery_quantity", + "battery_size", + "battery_voltage" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-1026", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Temperature", + "translation_key": null, + "translation_placeholders": null, + "device_class": "temperature", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "\u00b0C" + }, + "state": { + "class_name": "Temperature", + "available": true, + "state": 25.0 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-1029", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Humidity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "humidity", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "%" + }, + "state": { + "class_name": "Humidity", + "available": true, + "state": 50.0 + } + }, + { + "info_object": { + "fallback_name": "Chamber contamination", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-chamber_contamination", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "EnumSensor", + "translation_key": "chamber_contamination", + "translation_placeholders": null, + "device_class": "enum", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "EnumSensor", + "available": true, + "state": "Normal" + } + }, + { + "info_object": { + "fallback_name": "Alarm Level", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-co_alarm_level", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "EnumSensor", + "translation_key": "alarm_level", + "translation_placeholders": null, + "device_class": "enum", + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "EnumSensor", + "available": true, + "state": "normal" + } + }, + { + "info_object": { + "fallback_name": "Rebooted count", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-rebooted_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rebooted_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 6 + } + }, + { + "info_object": { + "fallback_name": "Rejoined count", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-rejoined_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rejoined_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Reported packages", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-reported_packages", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "reported_packages", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 163 + } + }, + { + "info_object": { + "fallback_name": "Sensor Expiration", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-sensor_life_state", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "EnumSensor", + "translation_key": "sensor_expiration", + "translation_placeholders": null, + "device_class": "enum", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "EnumSensor", + "available": true, + "state": "normal" + } + }, + { + "info_object": { + "fallback_name": "Smoke level", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-smoke_level", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "smoke_level", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0.0 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-2-1036", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "CarbonMonoxideConcentration", + "translation_key": null, + "translation_placeholders": null, + "device_class": "carbon_monoxide", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "ppm" + }, + "state": { + "class_name": "CarbonMonoxideConcentration", + "available": true, + "state": 0.0 + } + } + ], + "switch": [ + { + "info_object": { + "fallback_name": "Heartbeat indicator", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-heartbeat_indicator", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "ConfigurableAttributeSwitch", + "translation_key": "heartbeat_indicator", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "heartbeat_indicator", + "invert_attribute_name": null, + "force_inverted": false, + "off_value": 0, + "on_value": 1 + }, + "state": { + "class_name": "ConfigurableAttributeSwitch", + "available": true, + "state": false, + "inverted": false + } + }, + { + "info_object": { + "fallback_name": "Buzzer manual mute", + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-remote_mute", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "ConfigurableAttributeSwitch", + "translation_key": "buzzer_manual_mute", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "remote_mute", + "invert_attribute_name": null, + "force_inverted": false, + "off_value": 0, + "on_value": 1 + }, + "state": { + "class_name": "ConfigurableAttributeSwitch", + "available": true, + "state": false, + "inverted": false + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:66:d4:00:3c-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:66:d4:00:3c", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x01000000", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/heiman-hm-722esy-e-plus.json b/tests/data/devices/heiman-hm-722esy-e-plus.json new file mode 100644 index 000000000..a304dabac --- /dev/null +++ b/tests/data/devices/heiman-hm-722esy-e-plus.json @@ -0,0 +1,890 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:3d:59:86:82", + "nwk": "0xC15B", + "manufacturer": "HEIMAN", + "model": "HM-722ESY-E-PLUS", + "friendly_manufacturer": "HEIMAN", + "friendly_model": "HM-722ESY-E-PLUS", + "name": "HEIMAN HM-722ESY-E-PLUS", + "quirk_applied": true, + "quirk_class": "zhaquirks.heiman.hm_722_esy_e_plus:(HEIMAN / HM-722ESY-E-PLUS)", + "exposes_features": [ + "siren_basic" + ], + "manufacturer_code": 4619, + "power_source": "Battery or Unknown", + "lqi": 255, + "rssi": -36, + "last_seen": "2026-05-19T01:00:20.773020+00:00", + "available": true, + "device_type": "EndDevice", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "EndDevice", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "IAS_ZONE", + "id": 1026 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "HEIMAN" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "HM-722ESY-E-PLUS" + } + ] + }, + { + "cluster_id": "0x0001", + "endpoint_attribute": "power", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "value": 86 + }, + { + "id": "0x0033", + "name": "battery_quantity", + "zcl_type": "uint8", + "unsupported": true + }, + { + "id": "0x0031", + "name": "battery_size", + "zcl_type": "enum8", + "unsupported": true + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "value": 27 + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0020", + "endpoint_attribute": "poll_control", + "attributes": [ + { + "id": "0x0003", + "name": "fast_poll_timeout", + "zcl_type": "uint16", + "value": 120 + } + ] + }, + { + "cluster_id": "0x0402", + "endpoint_attribute": "temperature", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "int16", + "value": 2590 + } + ] + }, + { + "cluster_id": "0x0405", + "endpoint_attribute": "humidity", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "uint16", + "value": 7830 + } + ] + }, + { + "cluster_id": "0x040c", + "endpoint_attribute": "carbon_monoxide_concentration", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "single", + "value": 0.0 + } + ] + }, + { + "cluster_id": "0x0500", + "endpoint_attribute": "ias_zone", + "attributes": [ + { + "id": "0x0010", + "name": "cie_addr", + "zcl_type": "EUI64", + "value": [ + 50, + 79, + 50, + 2, + 0, + 141, + 21, + 0 + ] + }, + { + "id": "0x0000", + "name": "zone_state", + "zcl_type": "enum8", + "value": 1 + }, + { + "id": "0x0002", + "name": "zone_status", + "zcl_type": "map16", + "value": 32 + }, + { + "id": "0x0001", + "name": "zone_type", + "zcl_type": "enum16", + "value": 40 + } + ] + }, + { + "cluster_id": "0x0502", + "endpoint_attribute": "ias_wd", + "attributes": [] + }, + { + "cluster_id": "0x0b05", + "endpoint_attribute": "diagnostic", + "attributes": [ + { + "id": "0x011d", + "name": "last_message_rssi", + "zcl_type": "int8", + "value": -43 + } + ] + }, + { + "cluster_id": "0xfc90", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x1007", + "name": "interconnectable", + "zcl_type": "uint8", + "unsupported": true + }, + { + "id": "0x0019", + "name": "rebooted_count", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x001a", + "name": "rejoined_count", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0008", + "name": "remote_mute", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x001b", + "name": "reported_packages", + "zcl_type": "uint16", + "value": 13 + }, + { + "id": "0x0002", + "name": "sensor_fault_state", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x0009", + "name": "sensor_mute_state", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x0001", + "name": "sensor_self_check_state", + "zcl_type": "enum8", + "value": 0 + }, + { + "id": "0x0012", + "name": "siren_for_automation", + "zcl_type": "enum8", + "value": 0 + } + ] + } + ], + "out_clusters": [ + { + "cluster_id": "0x000a", + "endpoint_attribute": "time", + "attributes": [] + }, + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 16 + } + ] + } + ] + } + }, + "original_signature": { + "manufacturer": "HEIMAN", + "model": "HM-722ESY-E-PLUS", + "node_desc": { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0402", + "input_clusters": [ + "0x0000", + "0x0001", + "0x0003", + "0x0020", + "0x0402", + "0x0405", + "0x040c", + "0x0500", + "0x0502", + "0x0b05", + "0xfc90" + ], + "output_clusters": [ + "0x000a", + "0x0019" + ] + } + } + }, + "zha_lib_entities": { + "binary_sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-1280", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "IASZone", + "translation_key": null, + "translation_placeholders": null, + "device_class": "smoke", + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": true, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "zone_status" + }, + "state": { + "class_name": "IASZone", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Interconnectable", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-interconnectable", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "interconnectable", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "interconnectable" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Fault", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-sensor_fault_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "problem", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_fault_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Muted", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-sensor_mute_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "muted", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_mute_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Self-test", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-sensor_self_check_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "self_test_state", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_self_check_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + } + ], + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Remote test", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-init_test_mode", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "Button", + "translation_key": "remote_test", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "init_test_mode", + "args": [], + "kwargs": { + "test_mode_duration": 5, + "current_zone_sensitivity_level": 0 + } + }, + "state": { + "class_name": "Button", + "available": true + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": 255 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": -36 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-1", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Battery", + "translation_key": null, + "translation_placeholders": null, + "device_class": "battery", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "%" + }, + "state": { + "class_name": "Battery", + "available": true, + "state": 43.0, + "battery_voltage": 2.7 + }, + "extra_state_attributes": [ + "battery_quantity", + "battery_size", + "battery_voltage" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-1026", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Temperature", + "translation_key": null, + "translation_placeholders": null, + "device_class": "temperature", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "\u00b0C" + }, + "state": { + "class_name": "Temperature", + "available": true, + "state": 25.9 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-1029", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Humidity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "humidity", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "%" + }, + "state": { + "class_name": "Humidity", + "available": true, + "state": 78.3 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-1036", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "CarbonMonoxideConcentration", + "translation_key": null, + "translation_placeholders": null, + "device_class": "carbon_monoxide", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "ppm" + }, + "state": { + "class_name": "CarbonMonoxideConcentration", + "available": true, + "state": 0.0 + } + }, + { + "info_object": { + "fallback_name": "Rebooted count", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-rebooted_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rebooted_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Rejoined count", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-rejoined_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rejoined_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Reported packages", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-reported_packages", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "reported_packages", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 13 + } + } + ], + "siren": [ + { + "info_object": { + "fallback_name": "Siren", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-1282", + "migrate_unique_ids": [], + "platform": "siren", + "class_name": "BasicSiren", + "translation_key": null, + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "available_tones": {}, + "supported_features": 19 + }, + "state": { + "class_name": "BasicSiren", + "available": true, + "state": false + } + } + ], + "switch": [ + { + "info_object": { + "fallback_name": "Buzzer manual mute", + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-remote_mute", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "ConfigurableAttributeSwitch", + "translation_key": "buzzer_manual_mute", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "remote_mute", + "invert_attribute_name": null, + "force_inverted": false, + "off_value": 0, + "on_value": 1 + }, + "state": { + "class_name": "ConfigurableAttributeSwitch", + "available": true, + "state": false, + "inverted": false + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:3d:59:86:82-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:3d:59:86:82", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x00000010", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/heiman-hs1ca-e-plus.json b/tests/data/devices/heiman-hs1ca-e-plus.json new file mode 100644 index 000000000..4f9180185 --- /dev/null +++ b/tests/data/devices/heiman-hs1ca-e-plus.json @@ -0,0 +1,843 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:ba:7b:1b:60", + "nwk": "0xE4DB", + "manufacturer": "HEIMAN", + "model": "HS1CA-E PLUS", + "friendly_manufacturer": "HEIMAN", + "friendly_model": "HS1CA-E-PLUS", + "name": "HEIMAN HS1CA-E-PLUS", + "quirk_applied": true, + "quirk_class": "zhaquirks.heiman.hs1ca_e_plus:(HEIMAN / HS1CA-E PLUS)", + "exposes_features": [ + "siren_basic" + ], + "manufacturer_code": 4619, + "power_source": "Battery or Unknown", + "lqi": null, + "rssi": null, + "last_seen": "2026-05-18T09:53:42.623128+00:00", + "available": true, + "device_type": "EndDevice", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "EndDevice", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "IAS_ZONE", + "id": 1026 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "HEIMAN" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "HS1CA-E PLUS" + } + ] + }, + { + "cluster_id": "0x0001", + "endpoint_attribute": "power", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "value": 200 + }, + { + "id": "0x0033", + "name": "battery_quantity", + "zcl_type": "uint8", + "unsupported": true + }, + { + "id": "0x0031", + "name": "battery_size", + "zcl_type": "enum8", + "unsupported": true + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "value": 30 + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0020", + "endpoint_attribute": "poll_control", + "attributes": [ + { + "id": "0x0003", + "name": "fast_poll_timeout", + "zcl_type": "uint16", + "value": 120 + } + ] + }, + { + "cluster_id": "0x0402", + "endpoint_attribute": "temperature", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "int16", + "value": 2800 + } + ] + }, + { + "cluster_id": "0x040c", + "endpoint_attribute": "carbon_monoxide_concentration", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "single", + "value": 0.0 + } + ] + }, + { + "cluster_id": "0x0500", + "endpoint_attribute": "ias_zone", + "attributes": [ + { + "id": "0x0010", + "name": "cie_addr", + "zcl_type": "EUI64", + "value": [ + 50, + 79, + 50, + 2, + 0, + 141, + 21, + 0 + ] + }, + { + "id": "0x0000", + "name": "zone_state", + "zcl_type": "enum8", + "value": 1 + }, + { + "id": "0x0002", + "name": "zone_status", + "zcl_type": "map16", + "value": 48 + }, + { + "id": "0x0001", + "name": "zone_type", + "zcl_type": "enum16", + "value": 40 + } + ] + }, + { + "cluster_id": "0x0502", + "endpoint_attribute": "ias_wd", + "attributes": [] + }, + { + "cluster_id": "0x0b05", + "endpoint_attribute": "diagnostic", + "attributes": [ + { + "id": "0x011d", + "name": "last_message_rssi", + "zcl_type": "int8", + "value": -58 + } + ] + }, + { + "cluster_id": "0xfc90", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x1007", + "name": "interconnectable", + "zcl_type": "uint8", + "unsupported": true + }, + { + "id": "0x0019", + "name": "rebooted_count", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x001a", + "name": "rejoined_count", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0008", + "name": "remote_mute", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x001b", + "name": "reported_packages", + "zcl_type": "uint16", + "value": 11 + }, + { + "id": "0x0002", + "name": "sensor_fault_state", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x0009", + "name": "sensor_mute_state", + "zcl_type": "uint8", + "value": 0 + }, + { + "id": "0x0001", + "name": "sensor_self_check_state", + "zcl_type": "enum8", + "value": 0 + } + ] + } + ], + "out_clusters": [ + { + "cluster_id": "0x000a", + "endpoint_attribute": "time", + "attributes": [] + }, + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 32 + } + ] + } + ] + } + }, + "original_signature": { + "manufacturer": "HEIMAN", + "model": "HS1CA-E PLUS", + "node_desc": { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0402", + "input_clusters": [ + "0x0000", + "0x0001", + "0x0003", + "0x0020", + "0x0402", + "0x040c", + "0x0500", + "0x0502", + "0x0b05", + "0xfc90" + ], + "output_clusters": [ + "0x000a", + "0x0019" + ] + } + } + }, + "zha_lib_entities": { + "binary_sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-1280", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "IASZone", + "translation_key": null, + "translation_placeholders": null, + "device_class": "smoke", + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": true, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "zone_status" + }, + "state": { + "class_name": "IASZone", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Interconnectable", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-interconnectable", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "interconnectable", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "interconnectable" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Fault", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-sensor_fault_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "problem", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_fault_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Muted", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-sensor_mute_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "muted", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_mute_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + }, + { + "info_object": { + "fallback_name": "Self-test", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-sensor_self_check_state", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "BinarySensor", + "translation_key": "self_test_state", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "sensor_self_check_state" + }, + "state": { + "class_name": "BinarySensor", + "available": true, + "state": false + } + } + ], + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Remote test", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-init_test_mode", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "Button", + "translation_key": "remote_test", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "init_test_mode", + "args": [], + "kwargs": { + "test_mode_duration": 5, + "current_zone_sensitivity_level": 0 + } + }, + "state": { + "class_name": "Button", + "available": true + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": null + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": null + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-1", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Battery", + "translation_key": null, + "translation_placeholders": null, + "device_class": "battery", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "%" + }, + "state": { + "class_name": "Battery", + "available": true, + "state": 100.0, + "battery_voltage": 3.0 + }, + "extra_state_attributes": [ + "battery_quantity", + "battery_size", + "battery_voltage" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-1026", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Temperature", + "translation_key": null, + "translation_placeholders": null, + "device_class": "temperature", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "\u00b0C" + }, + "state": { + "class_name": "Temperature", + "available": true, + "state": 28.0 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-1036", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "CarbonMonoxideConcentration", + "translation_key": null, + "translation_placeholders": null, + "device_class": "carbon_monoxide", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "ppm" + }, + "state": { + "class_name": "CarbonMonoxideConcentration", + "available": true, + "state": 0.0 + } + }, + { + "info_object": { + "fallback_name": "Rebooted count", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-rebooted_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rebooted_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Rejoined count", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-rejoined_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rejoined_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Reported packages", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-reported_packages", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "reported_packages", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 11 + } + } + ], + "siren": [ + { + "info_object": { + "fallback_name": "Siren", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-1282", + "migrate_unique_ids": [], + "platform": "siren", + "class_name": "BasicSiren", + "translation_key": null, + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "available_tones": {}, + "supported_features": 19 + }, + "state": { + "class_name": "BasicSiren", + "available": true, + "state": false + } + } + ], + "switch": [ + { + "info_object": { + "fallback_name": "Buzzer manual mute", + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-remote_mute", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "ConfigurableAttributeSwitch", + "translation_key": "buzzer_manual_mute", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "remote_mute", + "invert_attribute_name": null, + "force_inverted": false, + "off_value": 0, + "on_value": 1 + }, + "state": { + "class_name": "ConfigurableAttributeSwitch", + "available": true, + "state": false, + "inverted": false + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:ba:7b:1b:60-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:ba:7b:1b:60", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x00000020", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/heiman-relaymodule-ef-3-0.json b/tests/data/devices/heiman-relaymodule-ef-3-0.json new file mode 100644 index 000000000..6249ef5be --- /dev/null +++ b/tests/data/devices/heiman-relaymodule-ef-3-0.json @@ -0,0 +1,714 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:d4:57:23:d2", + "nwk": "0x2CA9", + "manufacturer": "HEIMAN", + "model": "RelayModule-EF-3.0", + "friendly_manufacturer": "HEIMAN", + "friendly_model": "HS1RM-E", + "name": "HEIMAN HS1RM-E", + "quirk_applied": true, + "quirk_class": "zhaquirks.heiman.hs1rm_e:(HEIMAN / RelayModule-EF-3.0)", + "exposes_features": [], + "manufacturer_code": 4619, + "power_source": "Mains", + "lqi": 255, + "rssi": -24, + "last_seen": "2026-05-20T11:45:36.091499+00:00", + "available": true, + "device_type": "Router", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "Router", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "ON_OFF_OUTPUT", + "id": 2 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "HEIMAN" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "RelayModule-EF-3.0" + } + ] + }, + { + "cluster_id": "0x0002", + "endpoint_attribute": "device_temperature", + "attributes": [ + { + "id": "0xfffd", + "name": "cluster_revision", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0000", + "name": "current_temperature", + "zcl_type": "int16", + "value": 3400 + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0004", + "endpoint_attribute": "groups", + "attributes": [] + }, + { + "cluster_id": "0x0005", + "endpoint_attribute": "scenes", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "value": 0 + }, + { + "id": "0x4003", + "name": "start_up_on_off", + "zcl_type": "enum8", + "value": 255 + } + ] + }, + { + "cluster_id": "0x0007", + "endpoint_attribute": "on_off_config", + "attributes": [ + { + "id": "0x0010", + "name": "switch_actions", + "zcl_type": "enum8", + "value": 0 + }, + { + "id": "0x0000", + "name": "switch_type", + "zcl_type": "enum8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0009", + "endpoint_attribute": "alarms", + "attributes": [] + }, + { + "cluster_id": "0x0b05", + "endpoint_attribute": "diagnostic", + "attributes": [] + }, + { + "cluster_id": "0xfc90", + "endpoint_attribute": null, + "attributes": [] + } + ], + "out_clusters": [ + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 21 + } + ] + } + ] + }, + "2": { + "profile_id": 260, + "device_type": { + "name": "ON_OFF_OUTPUT", + "id": 2 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [] + }, + { + "cluster_id": "0x0004", + "endpoint_attribute": "groups", + "attributes": [] + }, + { + "cluster_id": "0x0005", + "endpoint_attribute": "scenes", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "value": 0 + }, + { + "id": "0x4003", + "name": "start_up_on_off", + "zcl_type": "enum8", + "value": 255 + } + ] + }, + { + "cluster_id": "0x0007", + "endpoint_attribute": "on_off_config", + "attributes": [ + { + "id": "0x0010", + "name": "switch_actions", + "zcl_type": "enum8", + "value": 2 + }, + { + "id": "0x0000", + "name": "switch_type", + "zcl_type": "enum8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0009", + "endpoint_attribute": "alarms", + "attributes": [] + }, + { + "cluster_id": "0xfc90", + "endpoint_attribute": null, + "attributes": [] + } + ], + "out_clusters": [] + }, + "242": { + "profile_id": 41440, + "device_type": { + "name": "PROXY_BASIC", + "id": 97 + }, + "in_clusters": [], + "out_clusters": [ + { + "cluster_id": "0x0021", + "endpoint_attribute": "green_power", + "attributes": [] + } + ] + } + }, + "original_signature": { + "manufacturer": "HEIMAN", + "model": "RelayModule-EF-3.0", + "node_desc": { + "logical_type": 1, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0002", + "input_clusters": [ + "0x0000", + "0x0002", + "0x0003", + "0x0004", + "0x0005", + "0x0006", + "0x0007", + "0x0009", + "0x0b05" + ], + "output_clusters": [ + "0x0019" + ] + }, + "2": { + "profile_id": "0x0104", + "device_type": "0x0002", + "input_clusters": [ + "0x0000", + "0x0004", + "0x0005", + "0x0006", + "0x0007", + "0x0009" + ], + "output_clusters": [] + }, + "242": { + "profile_id": "0xa1e0", + "device_type": "0x0061", + "input_clusters": [], + "output_clusters": [ + "0x0021" + ] + } + } + }, + "zha_lib_entities": { + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + } + ], + "select": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-6-StartUpOnOff", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "StartupOnOffSelectEntity", + "translation_key": "start_up_on_off", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "enum": "StartUpOnOff", + "options": [ + "Off", + "On", + "Toggle", + "PreviousValue" + ] + }, + "state": { + "class_name": "StartupOnOffSelectEntity", + "available": true, + "state": "PreviousValue" + } + }, + { + "info_object": { + "fallback_name": "Switch action L1", + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-switch_actions", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "ZCLEnumSelectEntity", + "translation_key": "switch_action_l1", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "enum": "SwitchActions", + "options": [ + "OnOff", + "OffOn", + "ToggleToggle" + ] + }, + "state": { + "class_name": "ZCLEnumSelectEntity", + "available": true, + "state": "OnOff" + } + }, + { + "info_object": { + "fallback_name": "Switch type L1", + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-switch_type", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "ZCLEnumSelectEntity", + "translation_key": "switch_type_l1", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "enum": "HeimanSwitchType", + "options": [ + "Toggle", + "Momentary" + ] + }, + "state": { + "class_name": "ZCLEnumSelectEntity", + "available": true, + "state": null + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-2-6-StartUpOnOff", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "StartupOnOffSelectEntity", + "translation_key": "start_up_on_off", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 2, + "available": true, + "group_id": null, + "enum": "StartUpOnOff", + "options": [ + "Off", + "On", + "Toggle", + "PreviousValue" + ] + }, + "state": { + "class_name": "StartupOnOffSelectEntity", + "available": true, + "state": "PreviousValue" + } + }, + { + "info_object": { + "fallback_name": "Switch action L2", + "unique_id": "ab:cd:ef:12:d4:57:23:d2-2-switch_actions", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "ZCLEnumSelectEntity", + "translation_key": "switch_action_l2", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 2, + "available": true, + "group_id": null, + "enum": "SwitchActions", + "options": [ + "OnOff", + "OffOn", + "ToggleToggle" + ] + }, + "state": { + "class_name": "ZCLEnumSelectEntity", + "available": true, + "state": "ToggleToggle" + } + }, + { + "info_object": { + "fallback_name": "Switch type L2", + "unique_id": "ab:cd:ef:12:d4:57:23:d2-2-switch_type", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "ZCLEnumSelectEntity", + "translation_key": "switch_type_l2", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 2, + "available": true, + "group_id": null, + "enum": "HeimanSwitchType", + "options": [ + "Toggle", + "Momentary" + ] + }, + "state": { + "class_name": "ZCLEnumSelectEntity", + "available": true, + "state": null + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": 255 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": -24 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-2", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "DeviceTemperature", + "translation_key": "device_temperature", + "translation_placeholders": null, + "device_class": "temperature", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "\u00b0C" + }, + "state": { + "class_name": "DeviceTemperature", + "available": true, + "state": 34.0 + } + } + ], + "switch": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-6", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "Switch", + "translation_key": "switch", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null + }, + "state": { + "class_name": "Switch", + "state": 0, + "available": true + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-2-6", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "Switch", + "translation_key": "switch", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 2, + "available": true, + "group_id": null + }, + "state": { + "class_name": "Switch", + "state": 0, + "available": true + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:d4:57:23:d2-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:d4:57:23:d2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x00000015", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/heiman-smokesensor-ef2-3-0.json b/tests/data/devices/heiman-smokesensor-ef2-3-0.json new file mode 100644 index 000000000..310d4f777 --- /dev/null +++ b/tests/data/devices/heiman-smokesensor-ef2-3-0.json @@ -0,0 +1,583 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:b9:64:70:c2", + "nwk": "0x016A", + "manufacturer": "HEIMAN", + "model": "SmokeSensor-EF2-3.0", + "friendly_manufacturer": "HEIMAN", + "friendly_model": "HS1SA-E-Lover", + "name": "HEIMAN HS1SA-E-Lover", + "quirk_applied": true, + "quirk_class": "zhaquirks.heiman.hs1sa_e_lover:(HEIMAN / SmokeSensor-EF2-3.0)", + "exposes_features": [ + "siren_basic" + ], + "manufacturer_code": 4619, + "power_source": "Battery or Unknown", + "lqi": 252, + "rssi": -37, + "last_seen": "2026-05-18T10:50:30.611383+00:00", + "available": true, + "device_type": "EndDevice", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "EndDevice", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "IAS_ZONE", + "id": 1026 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "HEIMAN" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "SmokeSensor-EF2-3.0" + } + ] + }, + { + "cluster_id": "0x0001", + "endpoint_attribute": "power", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "value": 200 + }, + { + "id": "0x0033", + "name": "battery_quantity", + "zcl_type": "uint8", + "unsupported": true + }, + { + "id": "0x0031", + "name": "battery_size", + "zcl_type": "enum8", + "unsupported": true + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0020", + "endpoint_attribute": "poll_control", + "attributes": [ + { + "id": "0x0003", + "name": "fast_poll_timeout", + "zcl_type": "uint16", + "value": 120 + } + ] + }, + { + "cluster_id": "0x0500", + "endpoint_attribute": "ias_zone", + "attributes": [ + { + "id": "0x0010", + "name": "cie_addr", + "zcl_type": "EUI64", + "value": [ + 50, + 79, + 50, + 2, + 0, + 141, + 21, + 0 + ] + }, + { + "id": "0x0000", + "name": "zone_state", + "zcl_type": "enum8", + "value": 1 + }, + { + "id": "0x0002", + "name": "zone_status", + "zcl_type": "map16", + "value": 32 + }, + { + "id": "0x0001", + "name": "zone_type", + "zcl_type": "enum16", + "value": 40 + } + ] + }, + { + "cluster_id": "0x0502", + "endpoint_attribute": "ias_wd", + "attributes": [] + }, + { + "cluster_id": "0x0b05", + "endpoint_attribute": "diagnostic", + "attributes": [ + { + "id": "0x011d", + "name": "last_message_rssi", + "zcl_type": "int8", + "value": -44 + } + ] + }, + { + "cluster_id": "0xfc90", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x0019", + "name": "rebooted_count", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x001a", + "name": "rejoined_count", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x001b", + "name": "reported_packages", + "zcl_type": "uint16", + "value": 4 + } + ] + } + ], + "out_clusters": [ + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 21 + } + ] + } + ] + } + }, + "original_signature": { + "manufacturer": "HEIMAN", + "model": "SmokeSensor-EF2-3.0", + "node_desc": { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4619, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0402", + "input_clusters": [ + "0x0000", + "0x0001", + "0x0003", + "0x0020", + "0x0500", + "0x0502", + "0x0b05", + "0xfc90" + ], + "output_clusters": [ + "0x0019" + ] + } + } + }, + "zha_lib_entities": { + "binary_sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-1280", + "migrate_unique_ids": [], + "platform": "binary_sensor", + "class_name": "IASZone", + "translation_key": null, + "translation_placeholders": null, + "device_class": "smoke", + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": true, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "zone_status" + }, + "state": { + "class_name": "IASZone", + "available": true, + "state": false + } + } + ], + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Remote test", + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-init_test_mode", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "Button", + "translation_key": "remote_test", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "init_test_mode", + "args": [], + "kwargs": { + "test_mode_duration": 5, + "current_zone_sensitivity_level": 0 + } + }, + "state": { + "class_name": "Button", + "available": true + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": 252 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": -37 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-1", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Battery", + "translation_key": null, + "translation_placeholders": null, + "device_class": "battery", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "%" + }, + "state": { + "class_name": "Battery", + "available": true, + "state": 100.0, + "battery_voltage": 0.0 + }, + "extra_state_attributes": [ + "battery_quantity", + "battery_size", + "battery_voltage" + ] + }, + { + "info_object": { + "fallback_name": "Rebooted count", + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-rebooted_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rebooted_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Rejoined count", + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-rejoined_count", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "rejoined_count", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Reported packages", + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-reported_packages", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Sensor", + "translation_key": "reported_packages", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "Sensor", + "available": true, + "state": 4 + } + } + ], + "siren": [ + { + "info_object": { + "fallback_name": "Siren", + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-1282", + "migrate_unique_ids": [], + "platform": "siren", + "class_name": "BasicSiren", + "translation_key": null, + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "available_tones": {}, + "supported_features": 19 + }, + "state": { + "class_name": "BasicSiren", + "available": true, + "state": false + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b9:64:70:c2-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b9:64:70:c2", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x00000015", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/sonoff-snzb-02ld.json b/tests/data/devices/sonoff-snzb-02ld.json new file mode 100644 index 000000000..74f595178 --- /dev/null +++ b/tests/data/devices/sonoff-snzb-02ld.json @@ -0,0 +1,455 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:b6:99:73:fd", + "nwk": "0x691D", + "manufacturer": "SONOFF", + "model": "SNZB-02LD", + "friendly_manufacturer": "SONOFF", + "friendly_model": "SNZB-02LD", + "name": "SONOFF SNZB-02LD", + "quirk_applied": true, + "quirk_class": "zhaquirks.sonoff.snzb02ld:(SONOFF / SNZB-02LD)", + "exposes_features": [], + "manufacturer_code": 4742, + "power_source": "Battery or Unknown", + "lqi": null, + "rssi": null, + "last_seen": "2026-06-03T03:32:46.325390+00:00", + "available": true, + "device_type": "EndDevice", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "EndDevice", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4742, + "maximum_buffer_size": 74, + "maximum_incoming_transfer_size": 404, + "server_mask": 10752, + "maximum_outgoing_transfer_size": 404, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "TEMPERATURE_SENSOR", + "id": 770 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "SONOFF" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "SNZB-02LD" + } + ] + }, + { + "cluster_id": "0x0001", + "endpoint_attribute": "power", + "attributes": [ + { + "id": "0x0021", + "name": "battery_percentage_remaining", + "zcl_type": "uint8", + "value": 200 + }, + { + "id": "0x0033", + "name": "battery_quantity", + "zcl_type": "uint8", + "unsupported": true + }, + { + "id": "0x0031", + "name": "battery_size", + "zcl_type": "enum8", + "unsupported": true + }, + { + "id": "0x0020", + "name": "battery_voltage", + "zcl_type": "uint8", + "value": 32 + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0020", + "endpoint_attribute": "poll_control", + "attributes": [ + { + "id": "0x0003", + "name": "fast_poll_timeout", + "zcl_type": "uint16", + "value": 120 + } + ] + }, + { + "cluster_id": "0x0402", + "endpoint_attribute": "temperature", + "attributes": [ + { + "id": "0x0000", + "name": "measured_value", + "zcl_type": "int16", + "value": 2660 + } + ] + }, + { + "cluster_id": "0xfc11", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x2003", + "name": "temperature_offset", + "zcl_type": "int16", + "value": 0 + }, + { + "id": "0x0007", + "name": "temperature_unit", + "zcl_type": "uint16", + "value": 1 + } + ] + }, + { + "cluster_id": "0xfc57", + "endpoint_attribute": "works_with_all_hubs", + "attributes": [] + } + ], + "out_clusters": [ + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 4352 + } + ] + } + ] + } + }, + "original_signature": { + "manufacturer": "SONOFF", + "model": "SNZB-02LD", + "node_desc": { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 128, + "manufacturer_code": 4742, + "maximum_buffer_size": 74, + "maximum_incoming_transfer_size": 404, + "server_mask": 10752, + "maximum_outgoing_transfer_size": 404, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0302", + "input_clusters": [ + "0x0000", + "0x0001", + "0x0003", + "0x0402", + "0x0020", + "0xfc57", + "0xfc11" + ], + "output_clusters": [ + "0x0019" + ] + } + } + }, + "zha_lib_entities": { + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + } + ], + "number": [ + { + "info_object": { + "fallback_name": "Temperature offset", + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-temperature_offset", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "temperature_offset", + "translation_placeholders": null, + "device_class": "temperature_delta", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "mode": "auto", + "native_max_value": 50, + "native_min_value": -50, + "native_step": 0.1, + "native_unit_of_measurement": "\u00b0C" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0.0 + } + } + ], + "select": [ + { + "info_object": { + "fallback_name": "Display unit", + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-temperature_unit", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "ZCLEnumSelectEntity", + "translation_key": "display_unit", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "enum": "TemperatureUnit", + "options": [ + "Celsius", + "Fahrenheit" + ] + }, + "state": { + "class_name": "ZCLEnumSelectEntity", + "available": true, + "state": "Fahrenheit" + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": null + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": null + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-1", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Battery", + "translation_key": null, + "translation_placeholders": null, + "device_class": "battery", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 0, + "unit": "%" + }, + "state": { + "class_name": "Battery", + "available": true, + "state": 100.0, + "battery_voltage": 3.2 + }, + "extra_state_attributes": [ + "battery_quantity", + "battery_size", + "battery_voltage" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-1026", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "Temperature", + "translation_key": null, + "translation_placeholders": null, + "device_class": "temperature", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": true, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "\u00b0C" + }, + "state": { + "class_name": "Temperature", + "available": true, + "state": 26.6 + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:b6:99:73:fd-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:b6:99:73:fd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x00001100", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/third-reality-inc-3rdp01072z.json b/tests/data/devices/third-reality-inc-3rdp01072z.json new file mode 100644 index 000000000..9a1057ee2 --- /dev/null +++ b/tests/data/devices/third-reality-inc-3rdp01072z.json @@ -0,0 +1,1895 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:bf:46:f1:35", + "nwk": "0x3578", + "manufacturer": "Third Reality, Inc", + "model": "3RDP01072Z", + "friendly_manufacturer": "Third Reality, Inc", + "friendly_model": "3RDP01072Z", + "name": "Third Reality, Inc 3RDP01072Z", + "quirk_applied": true, + "quirk_class": "zhaquirks.thirdreality.plug:(Third Reality, Inc / 3RDP01072Z)", + "exposes_features": [], + "manufacturer_code": 5127, + "power_source": "Mains", + "lqi": 255, + "rssi": -22, + "last_seen": "2026-06-03T08:55:04.095692+00:00", + "available": true, + "device_type": "Router", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "Router", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 5127, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 242, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 242, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "SMART_PLUG", + "id": 81 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0x0001", + "name": "app_version", + "zcl_type": "uint8", + "value": 48 + }, + { + "id": "0x0010", + "name": "location_desc", + "zcl_type": "string", + "value": "0998638" + }, + { + "id": "0x0004", + "name": "manufacturer", + "zcl_type": "string", + "value": "Third Reality, Inc" + }, + { + "id": "0x0005", + "name": "model", + "zcl_type": "string", + "value": "3RDP01072Z" + }, + { + "id": "0xff01", + "name": "red_led_brightness", + "zcl_type": "uint8", + "value": 20 + }, + { + "id": "0x4000", + "name": "sw_build_id", + "zcl_type": "string", + "value": "1.00.48" + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0004", + "endpoint_attribute": "groups", + "attributes": [] + }, + { + "cluster_id": "0x0005", + "endpoint_attribute": "scenes", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "value": 1 + }, + { + "id": "0x4003", + "name": "start_up_on_off", + "zcl_type": "enum8", + "value": 255 + } + ] + }, + { + "cluster_id": "0x0702", + "endpoint_attribute": "smartenergy_metering", + "attributes": [ + { + "id": "0x0000", + "name": "current_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0304", + "name": "demand_formatting", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0302", + "name": "divisor", + "zcl_type": "uint24", + "value": 1000 + }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": true + }, + { + "id": "0x0306", + "name": "metering_device_type", + "zcl_type": "map8", + "value": 0 + }, + { + "id": "0x0301", + "name": "multiplier", + "zcl_type": "uint24", + "value": 1 + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0303", + "name": "summation_formatting", + "zcl_type": "map8", + "value": 255 + }, + { + "id": "0x0300", + "name": "unit_of_measure", + "zcl_type": "enum8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0b04", + "endpoint_attribute": "electrical_measurement", + "attributes": [ + { + "id": "0x0603", + "name": "ac_current_divisor", + "zcl_type": "uint16", + "value": 1000 + }, + { + "id": "0x0602", + "name": "ac_current_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0300", + "name": "ac_frequency", + "zcl_type": "uint16", + "value": 50 + }, + { + "id": "0x0401", + "name": "ac_frequency_divisor", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0302", + "name": "ac_frequency_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0400", + "name": "ac_frequency_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0605", + "name": "ac_power_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x050b", + "name": "active_power", + "zcl_type": "int16", + "value": 3 + }, + { + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090d", + "name": "active_power_max_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0d", + "name": "active_power_max_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 1 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 17 + }, + { + "id": "0x0910", + "name": "power_factor_ph_b", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0a10", + "name": "power_factor_ph_c", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "value": 7 + }, + { + "id": "0x050a", + "name": "rms_current_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x090a", + "name": "rms_current_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a0a", + "name": "rms_current_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0505", + "name": "rms_voltage", + "zcl_type": "uint16", + "value": 2323 + }, + { + "id": "0x0507", + "name": "rms_voltage_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0907", + "name": "rms_voltage_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a07", + "name": "rms_voltage_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": true + } + ] + }, + { + "cluster_id": "0xff03", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x0001", + "name": "countdown_to_turn_off", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0002", + "name": "countdown_to_turn_on", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0000", + "name": "reset_total_energy", + "zcl_type": "uint8", + "value": 0 + } + ] + } + ], + "out_clusters": [ + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 48 + } + ] + } + ] + }, + "2": { + "profile_id": 260, + "device_type": { + "name": "SMART_PLUG", + "id": 81 + }, + "in_clusters": [ + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0004", + "endpoint_attribute": "groups", + "attributes": [] + }, + { + "cluster_id": "0x0005", + "endpoint_attribute": "scenes", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "value": 1 + }, + { + "id": "0x4003", + "name": "start_up_on_off", + "zcl_type": "enum8", + "value": 255 + } + ] + }, + { + "cluster_id": "0x0702", + "endpoint_attribute": "smartenergy_metering", + "attributes": [ + { + "id": "0x0000", + "name": "current_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0304", + "name": "demand_formatting", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0302", + "name": "divisor", + "zcl_type": "uint24", + "value": 1000 + }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": true + }, + { + "id": "0x0306", + "name": "metering_device_type", + "zcl_type": "map8", + "value": 0 + }, + { + "id": "0x0301", + "name": "multiplier", + "zcl_type": "uint24", + "value": 1 + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0303", + "name": "summation_formatting", + "zcl_type": "map8", + "value": 255 + }, + { + "id": "0x0300", + "name": "unit_of_measure", + "zcl_type": "enum8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0b04", + "endpoint_attribute": "electrical_measurement", + "attributes": [ + { + "id": "0x0603", + "name": "ac_current_divisor", + "zcl_type": "uint16", + "value": 1000 + }, + { + "id": "0x0602", + "name": "ac_current_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0300", + "name": "ac_frequency", + "zcl_type": "uint16", + "value": 50 + }, + { + "id": "0x0401", + "name": "ac_frequency_divisor", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0302", + "name": "ac_frequency_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0400", + "name": "ac_frequency_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0605", + "name": "ac_power_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x050b", + "name": "active_power", + "zcl_type": "int16", + "value": 0 + }, + { + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090d", + "name": "active_power_max_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0d", + "name": "active_power_max_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 1 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 0 + }, + { + "id": "0x0910", + "name": "power_factor_ph_b", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0a10", + "name": "power_factor_ph_c", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x050a", + "name": "rms_current_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x090a", + "name": "rms_current_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a0a", + "name": "rms_current_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0505", + "name": "rms_voltage", + "zcl_type": "uint16", + "value": 2323 + }, + { + "id": "0x0507", + "name": "rms_voltage_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0907", + "name": "rms_voltage_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a07", + "name": "rms_voltage_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": true + } + ] + }, + { + "cluster_id": "0xff03", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x0001", + "name": "countdown_to_turn_off", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0002", + "name": "countdown_to_turn_on", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0000", + "name": "reset_total_energy", + "zcl_type": "uint8", + "value": 0 + } + ] + } + ], + "out_clusters": [] + } + }, + "original_signature": { + "manufacturer": "Third Reality, Inc", + "model": "3RDP01072Z", + "node_desc": { + "logical_type": 1, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 5127, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 242, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 242, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0051", + "input_clusters": [ + "0x0000", + "0x0003", + "0x0004", + "0x0005", + "0x0006", + "0x0702", + "0x0b04", + "0xff03" + ], + "output_clusters": [ + "0x0019" + ] + }, + "2": { + "profile_id": "0x0104", + "device_type": "0x0051", + "input_clusters": [ + "0x0003", + "0x0004", + "0x0005", + "0x0006", + "0x0702", + "0x0b04", + "0xff03" + ], + "output_clusters": [] + } + } + }, + "zha_lib_entities": { + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Reset left total energy", + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-reset_summation_delivered", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "WriteAttributeButton", + "translation_key": "reset_total_energy_left", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "reset_total_energy", + "attribute_value": 1 + }, + "state": { + "class_name": "WriteAttributeButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Reset right total energy", + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-reset_summation_delivered", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "WriteAttributeButton", + "translation_key": "reset_total_energy_right", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "attribute_name": "reset_total_energy", + "attribute_value": 1 + }, + "state": { + "class_name": "WriteAttributeButton", + "available": true + } + } + ], + "number": [ + { + "info_object": { + "fallback_name": "Countdown to turn on left", + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-off_to_on_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_on_left", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Countdown to turn off left", + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-on_to_off_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_off_left", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Red LED brightness", + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-red_led_brightness", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "red_led_brightness", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 100, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "%" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 20 + } + }, + { + "info_object": { + "fallback_name": "Countdown to turn on right", + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-off_to_on_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_on_right", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Countdown to turn off right", + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-on_to_off_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_off_right", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + } + ], + "select": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-6-StartUpOnOff", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "StartupOnOffSelectEntity", + "translation_key": "start_up_on_off", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "enum": "StartUpOnOff", + "options": [ + "Off", + "On", + "Toggle", + "PreviousValue" + ] + }, + "state": { + "class_name": "StartupOnOffSelectEntity", + "available": true, + "state": "PreviousValue" + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-6-StartUpOnOff", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "StartupOnOffSelectEntity", + "translation_key": "start_up_on_off", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "enum": "StartUpOnOff", + "options": [ + "Off", + "On", + "Toggle", + "PreviousValue" + ] + }, + "state": { + "class_name": "StartupOnOffSelectEntity", + "available": true, + "state": "PreviousValue" + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": 255 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": -22 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-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:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 3, + "unit": "kWh" + }, + "state": { + "class_name": "SmartEnergySummation", + "available": true, + "state": 0.0, + "device_type": "Electric Metering", + "zcl_unit_of_measurement": 0 + }, + "extra_state_attributes": [ + "device_type", + "status", + "zcl_unit_of_measurement" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-2820", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementActivePower", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "W" + }, + "state": { + "class_name": "ElectricalMeasurementActivePower", + "available": true, + "state": 0.3, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "active_power_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-2820-ac_frequency", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementFrequency", + "translation_key": "ac_frequency", + "translation_placeholders": null, + "device_class": "frequency", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "Hz" + }, + "state": { + "class_name": "ElectricalMeasurementFrequency", + "available": true, + "state": 50.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "ac_frequency_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-2820-power_factor", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementPowerFactor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power_factor", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "%" + }, + "state": { + "class_name": "ElectricalMeasurementPowerFactor", + "available": true, + "state": 17, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-2820-rms_current", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSCurrent", + "translation_key": null, + "translation_placeholders": null, + "device_class": "current", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 2, + "unit": "A" + }, + "state": { + "class_name": "ElectricalMeasurementRMSCurrent", + "available": true, + "state": 0.007, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_current_max" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-2820-rms_voltage", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSVoltage", + "translation_key": null, + "translation_placeholders": null, + "device_class": "voltage", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "V" + }, + "state": { + "class_name": "ElectricalMeasurementRMSVoltage", + "available": true, + "state": 232.3, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_voltage_max" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-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:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 3, + "unit": "kWh" + }, + "state": { + "class_name": "SmartEnergySummation", + "available": true, + "state": 0.0, + "device_type": "Electric Metering", + "zcl_unit_of_measurement": 0 + }, + "extra_state_attributes": [ + "device_type", + "status", + "zcl_unit_of_measurement" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-2820", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementActivePower", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "W" + }, + "state": { + "class_name": "ElectricalMeasurementActivePower", + "available": true, + "state": 0.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "active_power_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-2820-ac_frequency", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementFrequency", + "translation_key": "ac_frequency", + "translation_placeholders": null, + "device_class": "frequency", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "Hz" + }, + "state": { + "class_name": "ElectricalMeasurementFrequency", + "available": true, + "state": 50.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "ac_frequency_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-2820-power_factor", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementPowerFactor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power_factor", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "%" + }, + "state": { + "class_name": "ElectricalMeasurementPowerFactor", + "available": true, + "state": 0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-2820-rms_current", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSCurrent", + "translation_key": null, + "translation_placeholders": null, + "device_class": "current", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 2, + "unit": "A" + }, + "state": { + "class_name": "ElectricalMeasurementRMSCurrent", + "available": true, + "state": 0.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_current_max" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2-2820-rms_voltage", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSVoltage", + "translation_key": null, + "translation_placeholders": null, + "device_class": "voltage", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "V" + }, + "state": { + "class_name": "ElectricalMeasurementRMSVoltage", + "available": true, + "state": 232.3, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_voltage_max" + ] + } + ], + "switch": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "Switch", + "translation_key": "switch", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null + }, + "state": { + "class_name": "Switch", + "state": 1, + "available": true + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-2", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "Switch", + "translation_key": "switch", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 2, + "available": true, + "group_id": null + }, + "state": { + "class_name": "Switch", + "state": 1, + "available": true + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:bf:46:f1:35-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:bf:46:f1:35", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x00000030", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file diff --git a/tests/data/devices/third-reality-inc-3rwp01073z.json b/tests/data/devices/third-reality-inc-3rwp01073z.json new file mode 100644 index 000000000..de463072f --- /dev/null +++ b/tests/data/devices/third-reality-inc-3rwp01073z.json @@ -0,0 +1,1865 @@ +{ + "version": 2, + "ieee": "ab:cd:ef:12:6c:64:d1:bd", + "nwk": "0xD1C3", + "manufacturer": "Third Reality, Inc", + "model": "3RWP01073Z", + "friendly_manufacturer": "Third Reality, Inc", + "friendly_model": "3RWP01073Z", + "name": "Third Reality, Inc 3RWP01073Z", + "quirk_applied": true, + "quirk_class": "zhaquirks.thirdreality.plug:(Third Reality, Inc / 3RWP01073Z)", + "exposes_features": [], + "manufacturer_code": 5127, + "power_source": "Mains", + "lqi": 255, + "rssi": null, + "last_seen": "2026-06-03T09:04:41.622098+00:00", + "available": true, + "device_type": "Router", + "active_coordinator": false, + "node_descriptor": { + "logical_type": "Router", + "complex_descriptor_available": false, + "user_descriptor_available": false, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 5127, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 242, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 242, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": 260, + "device_type": { + "name": "SMART_PLUG", + "id": 81 + }, + "in_clusters": [ + { + "cluster_id": "0x0000", + "endpoint_attribute": "basic", + "attributes": [ + { + "id": "0xff01", + "name": "red_led_brightness", + "zcl_type": "uint8", + "value": 18 + } + ] + }, + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0004", + "endpoint_attribute": "groups", + "attributes": [] + }, + { + "cluster_id": "0x0005", + "endpoint_attribute": "scenes", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "value": 1 + }, + { + "id": "0x4003", + "name": "start_up_on_off", + "zcl_type": "enum8", + "value": 255 + } + ] + }, + { + "cluster_id": "0x0702", + "endpoint_attribute": "smartenergy_metering", + "attributes": [ + { + "id": "0x0000", + "name": "current_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0304", + "name": "demand_formatting", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0302", + "name": "divisor", + "zcl_type": "uint24", + "value": 1000 + }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": true + }, + { + "id": "0x0306", + "name": "metering_device_type", + "zcl_type": "map8", + "value": 0 + }, + { + "id": "0x0301", + "name": "multiplier", + "zcl_type": "uint24", + "value": 1 + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0303", + "name": "summation_formatting", + "zcl_type": "map8", + "value": 255 + }, + { + "id": "0x0300", + "name": "unit_of_measure", + "zcl_type": "enum8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0b04", + "endpoint_attribute": "electrical_measurement", + "attributes": [ + { + "id": "0x0603", + "name": "ac_current_divisor", + "zcl_type": "uint16", + "value": 1000 + }, + { + "id": "0x0602", + "name": "ac_current_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0300", + "name": "ac_frequency", + "zcl_type": "uint16", + "value": 50 + }, + { + "id": "0x0401", + "name": "ac_frequency_divisor", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0302", + "name": "ac_frequency_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0400", + "name": "ac_frequency_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0605", + "name": "ac_power_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x050b", + "name": "active_power", + "zcl_type": "int16", + "value": 0 + }, + { + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090d", + "name": "active_power_max_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0d", + "name": "active_power_max_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 1 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 0 + }, + { + "id": "0x0910", + "name": "power_factor_ph_b", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0a10", + "name": "power_factor_ph_c", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x050a", + "name": "rms_current_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x090a", + "name": "rms_current_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a0a", + "name": "rms_current_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0505", + "name": "rms_voltage", + "zcl_type": "uint16", + "value": 2327 + }, + { + "id": "0x0507", + "name": "rms_voltage_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0907", + "name": "rms_voltage_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a07", + "name": "rms_voltage_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": true + } + ] + }, + { + "cluster_id": "0xff03", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x0001", + "name": "countdown_to_turn_off", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0002", + "name": "countdown_to_turn_on", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0000", + "name": "reset_total_energy", + "zcl_type": "uint8", + "value": 0 + } + ] + } + ], + "out_clusters": [ + { + "cluster_id": "0x0019", + "endpoint_attribute": "ota", + "attributes": [ + { + "id": "0x0002", + "name": "current_file_version", + "zcl_type": "uint32", + "value": 48 + } + ] + } + ] + }, + "2": { + "profile_id": 260, + "device_type": { + "name": "SMART_PLUG", + "id": 81 + }, + "in_clusters": [ + { + "cluster_id": "0x0003", + "endpoint_attribute": "identify", + "attributes": [] + }, + { + "cluster_id": "0x0004", + "endpoint_attribute": "groups", + "attributes": [] + }, + { + "cluster_id": "0x0005", + "endpoint_attribute": "scenes", + "attributes": [] + }, + { + "cluster_id": "0x0006", + "endpoint_attribute": "on_off", + "attributes": [ + { + "id": "0x0000", + "name": "on_off", + "zcl_type": "bool", + "value": 1 + }, + { + "id": "0x4003", + "name": "start_up_on_off", + "zcl_type": "enum8", + "value": 255 + } + ] + }, + { + "cluster_id": "0x0702", + "endpoint_attribute": "smartenergy_metering", + "attributes": [ + { + "id": "0x0000", + "name": "current_summ_delivered", + "zcl_type": "uint48", + "value": 0 + }, + { + "id": "0x0001", + "name": "current_summ_received", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0100", + "name": "current_tier1_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0102", + "name": "current_tier2_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0104", + "name": "current_tier3_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0106", + "name": "current_tier4_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0108", + "name": "current_tier5_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x010a", + "name": "current_tier6_summ_delivered", + "zcl_type": "uint48", + "unsupported": true + }, + { + "id": "0x0304", + "name": "demand_formatting", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0302", + "name": "divisor", + "zcl_type": "uint24", + "value": 1000 + }, + { + "id": "0x0400", + "name": "instantaneous_demand", + "zcl_type": "int24", + "unsupported": true + }, + { + "id": "0x0306", + "name": "metering_device_type", + "zcl_type": "map8", + "value": 0 + }, + { + "id": "0x0301", + "name": "multiplier", + "zcl_type": "uint24", + "value": 1 + }, + { + "id": "0x0200", + "name": "status", + "zcl_type": "map8", + "unsupported": true + }, + { + "id": "0x0303", + "name": "summation_formatting", + "zcl_type": "map8", + "value": 255 + }, + { + "id": "0x0300", + "name": "unit_of_measure", + "zcl_type": "enum8", + "value": 0 + } + ] + }, + { + "cluster_id": "0x0b04", + "endpoint_attribute": "electrical_measurement", + "attributes": [ + { + "id": "0x0603", + "name": "ac_current_divisor", + "zcl_type": "uint16", + "value": 1000 + }, + { + "id": "0x0602", + "name": "ac_current_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0300", + "name": "ac_frequency", + "zcl_type": "uint16", + "value": 50 + }, + { + "id": "0x0401", + "name": "ac_frequency_divisor", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0302", + "name": "ac_frequency_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0400", + "name": "ac_frequency_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0605", + "name": "ac_power_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0604", + "name": "ac_power_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x0601", + "name": "ac_voltage_divisor", + "zcl_type": "uint16", + "value": 10 + }, + { + "id": "0x0600", + "name": "ac_voltage_multiplier", + "zcl_type": "uint16", + "value": 1 + }, + { + "id": "0x050b", + "name": "active_power", + "zcl_type": "int16", + "value": 0 + }, + { + "id": "0x050d", + "name": "active_power_max", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090d", + "name": "active_power_max_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0d", + "name": "active_power_max_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x090b", + "name": "active_power_ph_b", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0a0b", + "name": "active_power_ph_c", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x050f", + "name": "apparent_power", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0103", + "name": "dc_current", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0203", + "name": "dc_current_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0202", + "name": "dc_current_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0106", + "name": "dc_power", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0205", + "name": "dc_power_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0204", + "name": "dc_power_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0100", + "name": "dc_voltage", + "zcl_type": "int16", + "unsupported": true + }, + { + "id": "0x0201", + "name": "dc_voltage_divisor", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0200", + "name": "dc_voltage_multiplier", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0000", + "name": "measurement_type", + "zcl_type": "map32", + "value": 1 + }, + { + "id": "0x0403", + "name": "power_divisor", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0510", + "name": "power_factor", + "zcl_type": "int8", + "value": 0 + }, + { + "id": "0x0910", + "name": "power_factor_ph_b", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0a10", + "name": "power_factor_ph_c", + "zcl_type": "int8", + "unsupported": true + }, + { + "id": "0x0402", + "name": "power_multiplier", + "zcl_type": "uint32", + "unsupported": true + }, + { + "id": "0x0508", + "name": "rms_current", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x050a", + "name": "rms_current_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x090a", + "name": "rms_current_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a0a", + "name": "rms_current_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0908", + "name": "rms_current_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a08", + "name": "rms_current_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0505", + "name": "rms_voltage", + "zcl_type": "uint16", + "value": 2318 + }, + { + "id": "0x0507", + "name": "rms_voltage_max", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0907", + "name": "rms_voltage_max_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a07", + "name": "rms_voltage_max_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0905", + "name": "rms_voltage_ph_b", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0a05", + "name": "rms_voltage_ph_c", + "zcl_type": "uint16", + "unsupported": true + }, + { + "id": "0x0304", + "name": "total_active_power", + "zcl_type": "int32", + "unsupported": true + } + ] + }, + { + "cluster_id": "0xff03", + "endpoint_attribute": null, + "attributes": [ + { + "id": "0x0001", + "name": "countdown_to_turn_off", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0002", + "name": "countdown_to_turn_on", + "zcl_type": "uint16", + "value": 0 + }, + { + "id": "0x0000", + "name": "reset_total_energy", + "zcl_type": "uint8", + "value": 0 + } + ] + } + ], + "out_clusters": [] + } + }, + "original_signature": { + "manufacturer": "Third Reality, Inc", + "model": "3RWP01073Z", + "node_desc": { + "logical_type": 1, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 5127, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 242, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 242, + "descriptor_capability_field": 0 + }, + "endpoints": { + "1": { + "profile_id": "0x0104", + "device_type": "0x0051", + "input_clusters": [ + "0x0000", + "0x0003", + "0x0004", + "0x0005", + "0x0006", + "0x0702", + "0x0b04", + "0xff03" + ], + "output_clusters": [ + "0x0019" + ] + }, + "2": { + "profile_id": "0x0104", + "device_type": "0x0051", + "input_clusters": [ + "0x0003", + "0x0004", + "0x0005", + "0x0006", + "0x0702", + "0x0b04", + "0xff03" + ], + "output_clusters": [] + } + } + }, + "zha_lib_entities": { + "button": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-3", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "IdentifyButton", + "translation_key": null, + "translation_placeholders": null, + "device_class": "identify", + "state_class": null, + "entity_category": "diagnostic", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "command": "identify", + "args": [ + 5 + ], + "kwargs": {} + }, + "state": { + "class_name": "IdentifyButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Reset bottom total energy", + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-reset_summation_delivered", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "WriteAttributeButton", + "translation_key": "reset_total_energy_bottom", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "attribute_name": "reset_total_energy", + "attribute_value": 1 + }, + "state": { + "class_name": "WriteAttributeButton", + "available": true + } + }, + { + "info_object": { + "fallback_name": "Reset top total energy", + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-reset_summation_delivered", + "migrate_unique_ids": [], + "platform": "button", + "class_name": "WriteAttributeButton", + "translation_key": "reset_total_energy_top", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "attribute_name": "reset_total_energy", + "attribute_value": 1 + }, + "state": { + "class_name": "WriteAttributeButton", + "available": true + } + } + ], + "number": [ + { + "info_object": { + "fallback_name": "Countdown to turn on bottom", + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-off_to_on_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_on_bottom", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Countdown to turn off bottom", + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-on_to_off_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_off_bottom", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Red LED brightness", + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-red_led_brightness", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "red_led_brightness", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 100, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "%" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 18 + } + }, + { + "info_object": { + "fallback_name": "Countdown to turn on top", + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-off_to_on_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_on_top", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + }, + { + "info_object": { + "fallback_name": "Countdown to turn off top", + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-on_to_off_delay", + "migrate_unique_ids": [], + "platform": "number", + "class_name": "NumberConfigurationEntity", + "translation_key": "countdown_to_turn_off_top", + "translation_placeholders": null, + "device_class": "duration", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "mode": "box", + "native_max_value": 65535, + "native_min_value": 0, + "native_step": 1.0, + "native_unit_of_measurement": "s" + }, + "state": { + "class_name": "NumberConfigurationEntity", + "available": true, + "state": 0 + } + } + ], + "select": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-6-StartUpOnOff", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "StartupOnOffSelectEntity", + "translation_key": "start_up_on_off", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "enum": "StartUpOnOff", + "options": [ + "Off", + "On", + "Toggle", + "PreviousValue" + ] + }, + "state": { + "class_name": "StartupOnOffSelectEntity", + "available": true, + "state": "PreviousValue" + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-6-StartUpOnOff", + "migrate_unique_ids": [], + "platform": "select", + "class_name": "StartupOnOffSelectEntity", + "translation_key": "start_up_on_off", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "enum": "StartUpOnOff", + "options": [ + "Off", + "On", + "Toggle", + "PreviousValue" + ] + }, + "state": { + "class_name": "StartupOnOffSelectEntity", + "available": true, + "state": "PreviousValue" + } + } + ], + "sensor": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-0-lqi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "LQISensor", + "translation_key": "lqi", + "translation_placeholders": null, + "device_class": null, + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": null + }, + "state": { + "class_name": "LQISensor", + "available": true, + "state": 255 + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-0-rssi", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "RSSISensor", + "translation_key": "rssi", + "translation_placeholders": null, + "device_class": "signal_strength", + "state_class": "measurement", + "entity_category": "diagnostic", + "entity_registry_enabled_default": false, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": null, + "unit": "dBm" + }, + "state": { + "class_name": "RSSISensor", + "available": true, + "state": null + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-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:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 3, + "unit": "kWh" + }, + "state": { + "class_name": "SmartEnergySummation", + "available": true, + "state": 0.0, + "device_type": "Electric Metering", + "zcl_unit_of_measurement": 0 + }, + "extra_state_attributes": [ + "device_type", + "status", + "zcl_unit_of_measurement" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-2820", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementActivePower", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "W" + }, + "state": { + "class_name": "ElectricalMeasurementActivePower", + "available": true, + "state": 0.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "active_power_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-2820-ac_frequency", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementFrequency", + "translation_key": "ac_frequency", + "translation_placeholders": null, + "device_class": "frequency", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "Hz" + }, + "state": { + "class_name": "ElectricalMeasurementFrequency", + "available": true, + "state": 50.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "ac_frequency_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-2820-power_factor", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementPowerFactor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power_factor", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "%" + }, + "state": { + "class_name": "ElectricalMeasurementPowerFactor", + "available": true, + "state": 0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-2820-rms_current", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSCurrent", + "translation_key": null, + "translation_placeholders": null, + "device_class": "current", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 2, + "unit": "A" + }, + "state": { + "class_name": "ElectricalMeasurementRMSCurrent", + "available": true, + "state": 0.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_current_max" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-2820-rms_voltage", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSVoltage", + "translation_key": null, + "translation_placeholders": null, + "device_class": "voltage", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "V" + }, + "state": { + "class_name": "ElectricalMeasurementRMSVoltage", + "available": true, + "state": 232.7, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_voltage_max" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-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:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 3, + "unit": "kWh" + }, + "state": { + "class_name": "SmartEnergySummation", + "available": true, + "state": 0.0, + "device_type": "Electric Metering", + "zcl_unit_of_measurement": 0 + }, + "extra_state_attributes": [ + "device_type", + "status", + "zcl_unit_of_measurement" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-2820", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementActivePower", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "W" + }, + "state": { + "class_name": "ElectricalMeasurementActivePower", + "available": true, + "state": 0.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "active_power_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-2820-ac_frequency", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementFrequency", + "translation_key": "ac_frequency", + "translation_placeholders": null, + "device_class": "frequency", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "Hz" + }, + "state": { + "class_name": "ElectricalMeasurementFrequency", + "available": true, + "state": 50.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "ac_frequency_max", + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-2820-power_factor", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementPowerFactor", + "translation_key": null, + "translation_placeholders": null, + "device_class": "power_factor", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "%" + }, + "state": { + "class_name": "ElectricalMeasurementPowerFactor", + "available": true, + "state": 0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-2820-rms_current", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSCurrent", + "translation_key": null, + "translation_placeholders": null, + "device_class": "current", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 2, + "unit": "A" + }, + "state": { + "class_name": "ElectricalMeasurementRMSCurrent", + "available": true, + "state": 0.0, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_current_max" + ] + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2-2820-rms_voltage", + "migrate_unique_ids": [], + "platform": "sensor", + "class_name": "ElectricalMeasurementRMSVoltage", + "translation_key": null, + "translation_placeholders": null, + "device_class": "voltage", + "state_class": "measurement", + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null, + "suggested_display_precision": 1, + "unit": "V" + }, + "state": { + "class_name": "ElectricalMeasurementRMSVoltage", + "available": true, + "state": 231.8, + "measurement_type": "ACTIVE_MEASUREMENT" + }, + "extra_state_attributes": [ + "measurement_type", + "rms_voltage_max" + ] + } + ], + "switch": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "Switch", + "translation_key": "switch", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null + }, + "state": { + "class_name": "Switch", + "state": 1, + "available": true + } + }, + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-2", + "migrate_unique_ids": [], + "platform": "switch", + "class_name": "Switch", + "translation_key": "switch", + "translation_placeholders": null, + "device_class": null, + "state_class": null, + "entity_category": null, + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 2, + "available": true, + "group_id": null + }, + "state": { + "class_name": "Switch", + "state": 1, + "available": true + } + } + ], + "update": [ + { + "info_object": { + "fallback_name": null, + "unique_id": "ab:cd:ef:12:6c:64:d1:bd-1-25-firmware_update", + "migrate_unique_ids": [], + "platform": "update", + "class_name": "FirmwareUpdateEntity", + "translation_key": null, + "translation_placeholders": null, + "device_class": "firmware", + "state_class": null, + "entity_category": "config", + "entity_registry_enabled_default": true, + "enabled": true, + "primary": false, + "device_ieee": "ab:cd:ef:12:6c:64:d1:bd", + "endpoint_id": 1, + "available": true, + "group_id": null, + "supported_features": 7 + }, + "state": { + "class_name": "FirmwareUpdateEntity", + "available": true, + "installed_version": "0x00000030", + "in_progress": false, + "update_percentage": null, + "latest_version": null, + "release_summary": null, + "release_notes": null, + "release_url": null + } + } + ] + }, + "neighbors": [], + "routes": [] +} \ No newline at end of file