diff --git a/tests/conftest.py b/tests/conftest.py index dffe3832..99d1eec0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -404,7 +404,7 @@ def _mock_dev( ieee: str = "00:0d:6f:00:0a:90:69:e7", manufacturer: str = "FakeManufacturer", model: str = "FakeModel", - node_descriptor: bytes = b"\x02@\x807\x10\x7fd\x00\x00*d\x00\x00", + node_descriptor: zdo_t.NodeDescriptor | None = None, nwk: int = 0xB79C, patch_cluster: bool = True, quirk: Optional[Callable] = None, @@ -416,7 +416,25 @@ def _mock_dev( ) device.manufacturer = manufacturer device.model = model - device.node_desc = zdo_t.NodeDescriptor.deserialize(node_descriptor)[0] + + if node_descriptor is None: + node_descriptor = zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress, + manufacturer_code=4151, + maximum_buffer_size=127, + maximum_incoming_transfer_size=100, + server_mask=10752, + maximum_outgoing_transfer_size=100, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ) + + device.node_desc = node_descriptor device.last_seen = time.time() for epid, ep in endpoints.items(): diff --git a/tests/test_alarm_control_panel.py b/tests/test_alarm_control_panel.py index d60d8ef0..7d48fa3d 100644 --- a/tests/test_alarm_control_panel.py +++ b/tests/test_alarm_control_panel.py @@ -9,6 +9,7 @@ from zigpy.profiles import zha from zigpy.zcl.clusters import security import zigpy.zcl.foundation as zcl_f +import zigpy.zdo.types as zdo_t from tests.conftest import SIG_EP_INPUT, SIG_EP_OUTPUT, SIG_EP_PROFILE, SIG_EP_TYPE from zha.application import Platform @@ -32,7 +33,26 @@ def zigpy_device(zigpy_device_mock: Callable[..., ZigpyDevice]) -> ZigpyDevice: } } return zigpy_device_mock( - endpoints, node_descriptor=b"\x02@\x8c\x02\x10RR\x00\x00\x00R\x00\x00" + endpoints, + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.RxOnWhenIdle + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4098, + maximum_buffer_size=82, + maximum_incoming_transfer_size=82, + server_mask=0, + maximum_outgoing_transfer_size=82, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) diff --git a/tests/test_device.py b/tests/test_device.py index 731f983e..10461dbe 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -76,7 +76,25 @@ def _dev(with_basic_cluster_handler: bool = True): } } return zigpy_device_mock( - endpoints, node_descriptor=b"\x02@\x84_\x11\x7fd\x00\x00,d\x00\x00" + endpoints, + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4447, + maximum_buffer_size=127, + maximum_incoming_transfer_size=100, + server_mask=11264, + maximum_outgoing_transfer_size=100, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) return _dev diff --git a/tests/test_discover.py b/tests/test_discover.py index 84898bdf..6029b688 100644 --- a/tests/test_discover.py +++ b/tests/test_discover.py @@ -40,6 +40,7 @@ import zigpy.zcl.clusters.general import zigpy.zcl.clusters.security import zigpy.zcl.foundation as zcl_f +import zigpy.zdo.types as zdo_t from tests.common import get_entity, update_attribute_cache from tests.conftest import SIG_EP_INPUT, SIG_EP_OUTPUT, SIG_EP_PROFILE, SIG_EP_TYPE @@ -133,7 +134,7 @@ async def test_devices( ieee="00:11:22:33:44:55:66:77", manufacturer=device[SIG_MANUFACTURER], model=device[SIG_MODEL], - node_descriptor=device[SIG_NODE_DESC], + node_descriptor=zdo_t.NodeDescriptor(**device[SIG_NODE_DESC]), attributes=device.get(DEV_SIG_ATTRIBUTES), patch_cluster=False, ) diff --git a/tests/test_fan.py b/tests/test_fan.py index 88526080..fe162101 100644 --- a/tests/test_fan.py +++ b/tests/test_fan.py @@ -15,6 +15,7 @@ from zigpy.profiles import zha from zigpy.zcl.clusters import general, hvac import zigpy.zcl.foundation as zcl_f +import zigpy.zdo.types as zdo_t from tests.common import ( get_entity, @@ -62,7 +63,26 @@ def zigpy_device( } } return zigpy_device_mock( - endpoints, node_descriptor=b"\x02@\x8c\x02\x10RR\x00\x00\x00R\x00\x00" + endpoints, + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.RxOnWhenIdle + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4098, + maximum_buffer_size=82, + maximum_incoming_transfer_size=82, + server_mask=0, + maximum_outgoing_transfer_size=82, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) @@ -511,7 +531,25 @@ def zigpy_device_ikea(zigpy_device_mock) -> ZigpyDevice: manufacturer="IKEA of Sweden", model="STARKVIND Air purifier", quirk=zhaquirks.ikea.starkvind.IkeaSTARKVIND, - node_descriptor=b"\x02@\x8c\x02\x10RR\x00\x00\x00R\x00\x00", + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.RxOnWhenIdle + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4098, + maximum_buffer_size=82, + maximum_incoming_transfer_size=82, + server_mask=0, + maximum_outgoing_transfer_size=82, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) @@ -665,7 +703,25 @@ def zigpy_device_kof(zigpy_device_mock) -> ZigpyDevice: manufacturer="King Of Fans, Inc.", model="HBUniversalCFRemote", quirk=zhaquirks.kof.kof_mr101z.CeilingFan, - node_descriptor=b"\x02@\x8c\x02\x10RR\x00\x00\x00R\x00\x00", + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.RxOnWhenIdle + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4098, + maximum_buffer_size=82, + maximum_incoming_transfer_size=82, + server_mask=0, + maximum_outgoing_transfer_size=82, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) diff --git a/tests/test_gateway.py b/tests/test_gateway.py index a04d1f19..0e780bfc 100644 --- a/tests/test_gateway.py +++ b/tests/test_gateway.py @@ -11,6 +11,7 @@ import zigpy.types from zigpy.zcl.clusters import general, lighting import zigpy.zdo.types +import zigpy.zdo.types as zdo_t from zigpy.zdo.types import LogicalType, NodeDescriptor from tests.common import get_entity, get_group_entity @@ -85,7 +86,27 @@ async def coordinator( }, ieee="00:15:8d:00:02:32:4f:32", nwk=0x0000, - node_descriptor=b"\xf8\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff", + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.Coordinator, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.AlternatePanCoordinator + | zdo_t.NodeDescriptor.MACCapabilityFlags.FullFunctionDevice + | zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.RxOnWhenIdle + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=43981, + maximum_buffer_size=82, + maximum_incoming_transfer_size=128, + server_mask=11329, + maximum_outgoing_transfer_size=128, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) zha_device = await device_joined(zigpy_device) zha_device.available = True diff --git a/tests/test_light.py b/tests/test_light.py index 79e1f66e..f7a45aa5 100644 --- a/tests/test_light.py +++ b/tests/test_light.py @@ -15,6 +15,7 @@ from zigpy.profiles import zha from zigpy.zcl.clusters import general, lighting import zigpy.zcl.foundation as zcl_f +import zigpy.zdo.types as zdo_t from tests.common import ( get_entity, @@ -105,7 +106,26 @@ async def coordinator( }, ieee="00:15:8d:00:02:32:4f:32", nwk=0x0000, - node_descriptor=b"\xf8\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff", + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.Router, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.FullFunctionDevice + | zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.RxOnWhenIdle + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4107, + maximum_buffer_size=82, + maximum_incoming_transfer_size=128, + server_mask=11264, + maximum_outgoing_transfer_size=128, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) zha_device = await device_joined(zigpy_device) zha_device.available = True diff --git a/tests/test_number.py b/tests/test_number.py index 87b3fac9..658cc0d5 100644 --- a/tests/test_number.py +++ b/tests/test_number.py @@ -9,6 +9,7 @@ from zigpy.profiles import zha import zigpy.types from zigpy.zcl.clusters import general, lighting +import zigpy.zdo.types as zdo_t from tests.common import get_entity, send_attributes_report, update_attribute_cache from tests.conftest import SIG_EP_INPUT, SIG_EP_OUTPUT, SIG_EP_PROFILE, SIG_EP_TYPE @@ -56,7 +57,24 @@ async def light(zigpy_device_mock: Callable[..., ZigpyDevice]) -> ZigpyDevice: SIG_EP_OUTPUT: [general.Ota.cluster_id], } }, - node_descriptor=b"\x02@\x84_\x11\x7fd\x00\x00,d\x00\x00", + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4447, + maximum_buffer_size=127, + maximum_incoming_transfer_size=100, + server_mask=11264, + maximum_outgoing_transfer_size=100, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) return zigpy_device diff --git a/tests/test_update.py b/tests/test_update.py index d81bdf60..258ebd3c 100644 --- a/tests/test_update.py +++ b/tests/test_update.py @@ -13,6 +13,7 @@ import zigpy.types as t from zigpy.zcl import Cluster, foundation from zigpy.zcl.clusters import general +import zigpy.zdo.types as zdo_t from tests.common import get_entity, update_attribute_cache from tests.conftest import SIG_EP_INPUT, SIG_EP_OUTPUT, SIG_EP_TYPE @@ -39,7 +40,25 @@ def zigpy_device(zigpy_device_mock): } } return zigpy_device_mock( - endpoints, node_descriptor=b"\x02@\x84_\x11\x7fd\x00\x00,d\x00\x00" + endpoints, + node_descriptor=zdo_t.NodeDescriptor( + logical_type=zdo_t.LogicalType.EndDevice, + complex_descriptor_available=0, + user_descriptor_available=0, + reserved=0, + aps_flags=0, + frequency_band=zdo_t.NodeDescriptor.FrequencyBand.Freq2400MHz, + mac_capability_flags=( + zdo_t.NodeDescriptor.MACCapabilityFlags.MainsPowered + | zdo_t.NodeDescriptor.MACCapabilityFlags.AllocateAddress + ), + manufacturer_code=4447, + maximum_buffer_size=127, + maximum_incoming_transfer_size=100, + server_mask=11264, + maximum_outgoing_transfer_size=100, + descriptor_capability_field=zdo_t.NodeDescriptor.DescriptorCapability.NONE, + ), ) diff --git a/tests/zha_devices_list.py b/tests/zha_devices_list.py index 1fd10e97..39e5bf5f 100644 --- a/tests/zha_devices_list.py +++ b/tests/zha_devices_list.py @@ -52,7 +52,21 @@ DEV_SIG_DEV_NO: 0, SIG_MANUFACTURER: "ADUROLIGHT", SIG_MODEL: "Adurolight_NCC", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00*d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 10752, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2080, @@ -85,7 +99,21 @@ DEV_SIG_DEV_NO: 1, SIG_MANUFACTURER: "Bosch", SIG_MODEL: "ISW-ZPR1-WP13", - SIG_NODE_DESC: b"\x02@\x08\x00\x00l\x00\x00\x00\x00\x00\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 8, + "manufacturer_code": 0, + "maximum_buffer_size": 108, + "maximum_incoming_transfer_size": 0, + "server_mask": 0, + "maximum_outgoing_transfer_size": 0, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 5: { SIG_EP_TYPE: 1026, @@ -138,7 +166,21 @@ DEV_SIG_DEV_NO: 2, SIG_MANUFACTURER: "CentraLite", SIG_MODEL: "3130", - SIG_NODE_DESC: b"\x02@\x80N\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4174, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1, @@ -181,7 +223,21 @@ DEV_SIG_DEV_NO: 3, SIG_MANUFACTURER: "CentraLite", SIG_MODEL: "3210-L", - SIG_NODE_DESC: b"\x01@\x8eN\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4174, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 81, @@ -264,7 +320,21 @@ DEV_SIG_DEV_NO: 4, SIG_MANUFACTURER: "CentraLite", SIG_MODEL: "3310-S", - SIG_NODE_DESC: b"\x02@\x80\xdf\xc2RR\x00\x00\x00R\x00\x00", + SIG_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": 49887, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 770, @@ -317,7 +387,21 @@ DEV_SIG_DEV_NO: 5, SIG_MANUFACTURER: "CentraLite", SIG_MODEL: "3315-S", - SIG_NODE_DESC: b"\x02@\x80\xdf\xc2RR\x00\x00\x00R\x00\x00", + SIG_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": 49887, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -377,7 +461,21 @@ DEV_SIG_DEV_NO: 6, SIG_MANUFACTURER: "CentraLite", SIG_MODEL: "3320-L", - SIG_NODE_DESC: b"\x02@\x80\xdf\xc2RR\x00\x00\x00R\x00\x00", + SIG_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": 49887, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -437,7 +535,21 @@ DEV_SIG_DEV_NO: 7, SIG_MANUFACTURER: "CentraLite", SIG_MODEL: "3326-L", - SIG_NODE_DESC: b"\x02@\x80\xdf\xc2RR\x00\x00\x00R\x00\x00", + SIG_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": 49887, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -497,7 +609,21 @@ DEV_SIG_DEV_NO: 8, SIG_MANUFACTURER: "CentraLite", SIG_MODEL: "Motion Sensor-A", - SIG_NODE_DESC: b"\x02@\x80N\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4174, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -564,7 +690,21 @@ DEV_SIG_DEV_NO: 9, SIG_MANUFACTURER: "ClimaxTechnology", SIG_MODEL: "PSMP5_00.00.02.02TC", - SIG_NODE_DESC: b"\x01@\x8e\x00\x00P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 0, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 81, @@ -632,7 +772,21 @@ DEV_SIG_DEV_NO: 10, SIG_MANUFACTURER: "ClimaxTechnology", SIG_MODEL: "SD8SC_00.00.03.12TC", - SIG_NODE_DESC: b"\x02@\x80\x00\x00P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 0, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -707,7 +861,21 @@ DEV_SIG_DEV_NO: 11, SIG_MANUFACTURER: "ClimaxTechnology", SIG_MODEL: "WS15_00.00.03.03TC", - SIG_NODE_DESC: b"\x02@\x80\x00\x00P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 0, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -749,7 +917,21 @@ DEV_SIG_DEV_NO: 12, SIG_MANUFACTURER: "Feibit Inc co.", SIG_MODEL: "FB56-ZCW08KU1.1", - SIG_NODE_DESC: b"\x01@\x8e\x00\x00P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 0, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 11: { SIG_EP_TYPE: 528, @@ -794,7 +976,21 @@ DEV_SIG_DEV_NO: 13, SIG_MANUFACTURER: "HEIMAN", SIG_MODEL: "SmokeSensor-EM", - SIG_NODE_DESC: b"\x02@\x80\x0b\x12RR\x00\x00\x00R\x00\x00", + SIG_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": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -842,7 +1038,21 @@ DEV_SIG_DEV_NO: 14, SIG_MANUFACTURER: "Heiman", SIG_MODEL: "CO_V16", - SIG_NODE_DESC: b"\x02@\x84\xaa\xbb@\x00\x00\x00\x00\x00\x00\x03", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 132, + "manufacturer_code": 48042, + "maximum_buffer_size": 64, + "maximum_incoming_transfer_size": 0, + "server_mask": 0, + "maximum_outgoing_transfer_size": 0, + "descriptor_capability_field": 3, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -885,7 +1095,21 @@ DEV_SIG_DEV_NO: 15, SIG_MANUFACTURER: "Heiman", SIG_MODEL: "WarningDevice", - SIG_NODE_DESC: b"\x01@\x8e\x0b\x12RR\x00\x00\x00R\x00\x00", + SIG_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": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1027, @@ -953,7 +1177,21 @@ DEV_SIG_DEV_NO: 16, SIG_MANUFACTURER: "HiveHome.com", SIG_MODEL: "MOT003", - SIG_NODE_DESC: b"\x02@\x809\x10PP\x00\x00\x00P\x00\x00", + SIG_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": 4153, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 80, + "server_mask": 0, + "maximum_outgoing_transfer_size": 80, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 6: { SIG_EP_TYPE: 1026, @@ -1011,7 +1249,21 @@ DEV_SIG_DEV_NO: 17, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI bulb E12 WS opal 600lm", - SIG_NODE_DESC: b"\x01@\x8e|\x11RR\x00\x00,R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 268, @@ -1069,7 +1321,21 @@ DEV_SIG_DEV_NO: 18, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI bulb E26 CWS opal 600lm", - SIG_NODE_DESC: b"\x01@\x8e|\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 512, @@ -1120,7 +1386,21 @@ DEV_SIG_DEV_NO: 19, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI bulb E26 W opal 1000lm", - SIG_NODE_DESC: b"\x01@\x8e|\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 256, @@ -1171,7 +1451,21 @@ DEV_SIG_DEV_NO: 20, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI bulb E26 WS opal 980lm", - SIG_NODE_DESC: b"\x01@\x8e|\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 544, @@ -1222,7 +1516,21 @@ DEV_SIG_DEV_NO: 21, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI bulb E26 opal 1000lm", - SIG_NODE_DESC: b"\x01@\x8e|\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 256, @@ -1273,7 +1581,21 @@ DEV_SIG_DEV_NO: 22, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI control outlet", - SIG_NODE_DESC: b"\x01@\x8e|\x11RR\x00\x00,R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 266, @@ -1320,7 +1642,21 @@ DEV_SIG_DEV_NO: 23, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI motion sensor", - SIG_NODE_DESC: b"\x02@\x80|\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2128, @@ -1374,7 +1710,21 @@ DEV_SIG_DEV_NO: 24, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI on/off switch", - SIG_NODE_DESC: b"\x02@\x80|\x11RR\x00\x00,R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2080, @@ -1421,7 +1771,21 @@ DEV_SIG_DEV_NO: 25, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI remote control", - SIG_NODE_DESC: b"\x02@\x80|\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2096, @@ -1468,7 +1832,21 @@ DEV_SIG_DEV_NO: 26, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI signal repeater", - SIG_NODE_DESC: b"\x01@\x8e|\x11RR\x00\x00,R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 8, @@ -1517,7 +1895,21 @@ DEV_SIG_DEV_NO: 27, SIG_MANUFACTURER: "IKEA of Sweden", SIG_MODEL: "TRADFRI wireless dimmer", - SIG_NODE_DESC: b"\x02@\x80|\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4476, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2064, @@ -1566,7 +1958,21 @@ DEV_SIG_DEV_NO: 28, SIG_MANUFACTURER: "Jasco Products", SIG_MODEL: "45852", - SIG_NODE_DESC: b"\x01@\x8e$\x11R\xff\x00\x00\x00\xff\x00\x00", + SIG_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": 4388, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 255, + "server_mask": 0, + "maximum_outgoing_transfer_size": 255, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 257, @@ -1626,7 +2032,21 @@ DEV_SIG_DEV_NO: 29, SIG_MANUFACTURER: "Jasco Products", SIG_MODEL: "45856", - SIG_NODE_DESC: b"\x01@\x8e$\x11R\xff\x00\x00\x00\xff\x00\x00", + SIG_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": 4388, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 255, + "server_mask": 0, + "maximum_outgoing_transfer_size": 255, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 256, @@ -1686,7 +2106,21 @@ DEV_SIG_DEV_NO: 30, SIG_MANUFACTURER: "Jasco Products", SIG_MODEL: "45857", - SIG_NODE_DESC: b"\x01@\x8e$\x11R\xff\x00\x00\x00\xff\x00\x00", + SIG_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": 4388, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 255, + "server_mask": 0, + "maximum_outgoing_transfer_size": 255, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 257, @@ -1746,7 +2180,21 @@ DEV_SIG_DEV_NO: 31, SIG_MANUFACTURER: "Keen Home Inc", SIG_MODEL: "SV02-610-MP-1.3", - SIG_NODE_DESC: b"\x02@\x80[\x11RR\x00\x00*R\x00\x00", + SIG_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": 4443, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 10752, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 3, @@ -1804,7 +2252,21 @@ DEV_SIG_DEV_NO: 32, SIG_MANUFACTURER: "Keen Home Inc", SIG_MODEL: "SV02-612-MP-1.2", - SIG_NODE_DESC: b"\x02@\x80[\x11RR\x00\x00*R\x00\x00", + SIG_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": 4443, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 10752, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 3, @@ -1862,7 +2324,21 @@ DEV_SIG_DEV_NO: 33, SIG_MANUFACTURER: "Keen Home Inc", SIG_MODEL: "SV02-612-MP-1.3", - SIG_NODE_DESC: b"\x02@\x80[\x11RR\x00\x00*R\x00\x00", + SIG_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": 4443, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 10752, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 3, @@ -1920,7 +2396,21 @@ DEV_SIG_DEV_NO: 34, SIG_MANUFACTURER: "King Of Fans, Inc.", SIG_MODEL: "HBUniversalCFRemote", - SIG_NODE_DESC: b"\x02@\x8c\x02\x10RR\x00\x00\x00R\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 140, + "manufacturer_code": 4098, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 257, @@ -1970,7 +2460,21 @@ DEV_SIG_DEV_NO: 35, SIG_MANUFACTURER: "LDS", SIG_MODEL: "ZBT-CCTSwitch-D0001", - SIG_NODE_DESC: b"\x02@\x80h\x11RR\x00\x00,R\x00\x00", + SIG_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": 4456, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2048, @@ -2013,7 +2517,21 @@ DEV_SIG_DEV_NO: 36, SIG_MANUFACTURER: "LEDVANCE", SIG_MODEL: "A19 RGBW", - SIG_NODE_DESC: b"\x01@\x8e\x89\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4489, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 258, @@ -2056,7 +2574,21 @@ DEV_SIG_DEV_NO: 37, SIG_MANUFACTURER: "LEDVANCE", SIG_MODEL: "FLEX RGBW", - SIG_NODE_DESC: b"\x01@\x8e\x89\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4489, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 258, @@ -2099,7 +2631,21 @@ DEV_SIG_DEV_NO: 38, SIG_MANUFACTURER: "LEDVANCE", SIG_MODEL: "PLUG", - SIG_NODE_DESC: b"\x01@\x8e\x89\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4489, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 81, @@ -2142,7 +2688,21 @@ DEV_SIG_DEV_NO: 39, SIG_MANUFACTURER: "LEDVANCE", SIG_MODEL: "RT RGBW", - SIG_NODE_DESC: b"\x01@\x8e\x89\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4489, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 258, @@ -2185,7 +2745,21 @@ DEV_SIG_DEV_NO: 40, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.plug.maus01", - SIG_NODE_DESC: b"\x01@\x8e_\x11\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4447, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 81, @@ -2274,7 +2848,21 @@ DEV_SIG_DEV_NO: 41, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.relay.c2acn01", - SIG_NODE_DESC: b"\x01@\x8e7\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 257, @@ -2374,7 +2962,21 @@ DEV_SIG_DEV_NO: 42, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.remote.b186acn01", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 24321, @@ -2431,7 +3033,21 @@ DEV_SIG_DEV_NO: 43, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.remote.b286acn01", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 24321, @@ -2488,7 +3104,21 @@ DEV_SIG_DEV_NO: 44, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.remote.b286opcn01", - SIG_NODE_DESC: b"\x02@\x84_\x11\x7fd\x00\x00,d\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 132, + "manufacturer_code": 4447, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 261, @@ -2561,7 +3191,21 @@ DEV_SIG_DEV_NO: 45, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.remote.b486opcn01", - SIG_NODE_DESC: b"\x02@\x84_\x11\x7fd\x00\x00,d\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 132, + "manufacturer_code": 4447, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 261, @@ -2634,7 +3278,21 @@ DEV_SIG_DEV_NO: 46, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.remote.b686opcn01", - SIG_NODE_DESC: b"\x02@\x84_\x11\x7fd\x00\x00,d\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 132, + "manufacturer_code": 4447, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 261, @@ -2672,7 +3330,21 @@ DEV_SIG_DEV_NO: 47, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.remote.b686opcn01", - SIG_NODE_DESC: b"\x02@\x84_\x11\x7fd\x00\x00,d\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 132, + "manufacturer_code": 4447, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 261, @@ -2745,7 +3417,21 @@ DEV_SIG_DEV_NO: 48, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.router", - SIG_NODE_DESC: b"\x01@\x8e_\x11P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 4447, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 8: { SIG_EP_TYPE: 256, @@ -2783,7 +3469,21 @@ DEV_SIG_DEV_NO: 49, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.router", - SIG_NODE_DESC: b"\x01@\x8e_\x11P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 4447, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 8: { SIG_EP_TYPE: 256, @@ -2821,7 +3521,21 @@ DEV_SIG_DEV_NO: 50, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.router", - SIG_NODE_DESC: b"\x01@\x8e_\x11P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 4447, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 8: { SIG_EP_TYPE: 256, @@ -2859,7 +3573,21 @@ DEV_SIG_DEV_NO: 51, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sen_ill.mgl01", - SIG_NODE_DESC: b"\x02@\x84n\x12\x7fd\x00\x00,d\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 132, + "manufacturer_code": 4718, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 262, @@ -2902,7 +3630,21 @@ DEV_SIG_DEV_NO: 52, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_86sw1", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 24321, @@ -2959,7 +3701,21 @@ DEV_SIG_DEV_NO: 53, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_cube.aqgl01", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 28417, @@ -3016,7 +3772,21 @@ DEV_SIG_DEV_NO: 54, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_ht", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 24322, @@ -3083,7 +3853,21 @@ DEV_SIG_DEV_NO: 55, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_magnet", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2128, @@ -3131,7 +3915,21 @@ DEV_SIG_DEV_NO: 56, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_magnet.aq2", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 24321, @@ -3174,7 +3972,21 @@ DEV_SIG_DEV_NO: 57, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_motion.aq2", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 263, @@ -3241,7 +4053,21 @@ DEV_SIG_DEV_NO: 58, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_smoke", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -3296,7 +4122,21 @@ DEV_SIG_DEV_NO: 59, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_switch", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 6, @@ -3339,7 +4179,21 @@ DEV_SIG_DEV_NO: 60, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_switch.aq2", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 6, @@ -3372,7 +4226,21 @@ DEV_SIG_DEV_NO: 61, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_switch.aq3", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 6, @@ -3405,7 +4273,21 @@ DEV_SIG_DEV_NO: 62, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.sensor_wleak.aq1", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -3460,7 +4342,21 @@ DEV_SIG_DEV_NO: 63, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.vibration.aq1", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { PROFILE_ID: zha.PROFILE_ID, @@ -3535,7 +4431,21 @@ DEV_SIG_DEV_NO: 64, SIG_MANUFACTURER: "LUMI", SIG_MODEL: "lumi.weather", - SIG_NODE_DESC: b"\x02@\x807\x10\x7fd\x00\x00\x00d\x00\x00", + SIG_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": 4151, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 0, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 24321, @@ -3588,7 +4498,21 @@ DEV_SIG_DEV_NO: 65, SIG_MANUFACTURER: "NYCE", SIG_MODEL: "3010", - SIG_NODE_DESC: b"\x02@\x80\xb9\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4281, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -3631,7 +4555,21 @@ DEV_SIG_DEV_NO: 66, SIG_MANUFACTURER: "NYCE", SIG_MODEL: "3014", - SIG_NODE_DESC: b"\x02@\x80\xb9\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4281, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -3674,7 +4612,21 @@ DEV_SIG_DEV_NO: 67, SIG_MANUFACTURER: None, SIG_MODEL: None, - SIG_NODE_DESC: b"\x10@\x0f5\x11Y=\x00@\x00=\x00\x00", + SIG_NODE_DESC: { + "logical_type": 0, + "complex_descriptor_available": 0, + "user_descriptor_available": 1, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 15, + "manufacturer_code": 4405, + "maximum_buffer_size": 89, + "maximum_incoming_transfer_size": 61, + "server_mask": 64, + "maximum_outgoing_transfer_size": 61, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 5, @@ -3698,7 +4650,21 @@ DEV_SIG_DEV_NO: 68, SIG_MANUFACTURER: None, SIG_MODEL: None, - SIG_NODE_DESC: b"\x00@\x8f\xcd\xabR\x80\x00\x00\x00\x80\x00\x00", + SIG_NODE_DESC: { + "logical_type": 0, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 143, + "manufacturer_code": 43981, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 128, + "server_mask": 0, + "maximum_outgoing_transfer_size": 128, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 48879, @@ -3715,7 +4681,21 @@ DEV_SIG_DEV_NO: 69, SIG_MANUFACTURER: "OSRAM", SIG_MODEL: "LIGHTIFY A19 RGBW", - SIG_NODE_DESC: b"\x01@\x8e\xaa\xbb@\x00\x00\x00\x00\x00\x00\x03", + SIG_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": 48042, + "maximum_buffer_size": 64, + "maximum_incoming_transfer_size": 0, + "server_mask": 0, + "maximum_outgoing_transfer_size": 0, + "descriptor_capability_field": 3, + }, SIG_ENDPOINTS: { 3: { SIG_EP_TYPE: 258, @@ -3758,7 +4738,21 @@ DEV_SIG_DEV_NO: 70, SIG_MANUFACTURER: "OSRAM", SIG_MODEL: "LIGHTIFY Dimming Switch", - SIG_NODE_DESC: b"\x02@\x80\x0c\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4364, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1, @@ -3801,7 +4795,21 @@ DEV_SIG_DEV_NO: 71, SIG_MANUFACTURER: "OSRAM", SIG_MODEL: "LIGHTIFY Flex RGBW", - SIG_NODE_DESC: b"\x19@\x8e\xaa\xbb@\x00\x00\x00\x00\x00\x00\x03", + SIG_NODE_DESC: { + "logical_type": 1, + "complex_descriptor_available": 1, + "user_descriptor_available": 1, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 48042, + "maximum_buffer_size": 64, + "maximum_incoming_transfer_size": 0, + "server_mask": 0, + "maximum_outgoing_transfer_size": 0, + "descriptor_capability_field": 3, + }, SIG_ENDPOINTS: { 3: { SIG_EP_TYPE: 258, @@ -3844,7 +4852,21 @@ DEV_SIG_DEV_NO: 72, SIG_MANUFACTURER: "OSRAM", SIG_MODEL: "LIGHTIFY RT Tunable White", - SIG_NODE_DESC: b"\x01@\x8e\xaa\xbb@\x00\x00\x00\x00\x00\x00\x03", + SIG_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": 48042, + "maximum_buffer_size": 64, + "maximum_incoming_transfer_size": 0, + "server_mask": 0, + "maximum_outgoing_transfer_size": 0, + "descriptor_capability_field": 3, + }, SIG_ENDPOINTS: { 3: { SIG_EP_TYPE: 258, @@ -3923,7 +4945,21 @@ DEV_SIG_DEV_NO: 73, SIG_MANUFACTURER: "OSRAM", SIG_MODEL: "Plug 01", - SIG_NODE_DESC: b"\x01@\x8e\xaa\xbb@\x00\x00\x00\x00\x00\x00\x03", + SIG_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": 48042, + "maximum_buffer_size": 64, + "maximum_incoming_transfer_size": 0, + "server_mask": 0, + "maximum_outgoing_transfer_size": 0, + "descriptor_capability_field": 3, + }, SIG_ENDPOINTS: { 3: { SIG_EP_TYPE: 16, @@ -3966,7 +5002,21 @@ DEV_SIG_DEV_NO: 74, SIG_MANUFACTURER: "OSRAM", SIG_MODEL: "Switch 4x-LIGHTIFY", - SIG_NODE_DESC: b"\x02@\x80\x0c\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4364, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2064, @@ -4065,7 +5115,21 @@ DEV_SIG_DEV_NO: 75, SIG_MANUFACTURER: "Philips", SIG_MODEL: "RWL020", - SIG_NODE_DESC: b"\x02@\x80\x0b\x10G-\x00\x00\x00-\x00\x00", + SIG_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": 4107, + "maximum_buffer_size": 71, + "maximum_incoming_transfer_size": 45, + "server_mask": 0, + "maximum_outgoing_transfer_size": 45, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2096, @@ -4120,7 +5184,21 @@ DEV_SIG_DEV_NO: 76, SIG_MANUFACTURER: "Samjin", SIG_MODEL: "button", - SIG_NODE_DESC: b"\x02@\x80A\x12RR\x00\x00,R\x00\x00", + SIG_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": 4673, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -4173,7 +5251,21 @@ DEV_SIG_DEV_NO: 77, SIG_MANUFACTURER: "Samjin", SIG_MODEL: "multi", - SIG_NODE_DESC: b"\x02@\x80A\x12RR\x00\x00,R\x00\x00", + SIG_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": 4673, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -4231,7 +5323,21 @@ DEV_SIG_DEV_NO: 78, SIG_MANUFACTURER: "Samjin", SIG_MODEL: "water", - SIG_NODE_DESC: b"\x02@\x80A\x12RR\x00\x00,R\x00\x00", + SIG_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": 4673, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -4284,7 +5390,21 @@ DEV_SIG_DEV_NO: 79, SIG_MANUFACTURER: "Securifi Ltd.", SIG_MODEL: None, - SIG_NODE_DESC: b"\x01@\x8e\x02\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4098, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 0, @@ -4357,7 +5477,21 @@ DEV_SIG_DEV_NO: 80, SIG_MANUFACTURER: "Sercomm Corp.", SIG_MODEL: "SZ-DWS04N_SF", - SIG_NODE_DESC: b"\x02@\x801\x11R\xff\x00\x00\x00\xff\x00\x00", + SIG_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": 4401, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 255, + "server_mask": 0, + "maximum_outgoing_transfer_size": 255, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -4410,7 +5544,21 @@ DEV_SIG_DEV_NO: 81, SIG_MANUFACTURER: "Sercomm Corp.", SIG_MODEL: "SZ-ESW01", - SIG_NODE_DESC: b"\x01@\x8e1\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4401, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 256, @@ -4500,7 +5648,21 @@ DEV_SIG_DEV_NO: 82, SIG_MANUFACTURER: "Sercomm Corp.", SIG_MODEL: "SZ-PIR04", - SIG_NODE_DESC: b"\x02@\x801\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4401, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -4558,7 +5720,21 @@ DEV_SIG_DEV_NO: 83, SIG_MANUFACTURER: "Sinope Technologies", SIG_MODEL: "RM3250ZB", - SIG_NODE_DESC: b"\x11@\x8e\x9c\x11G+\x00\x00*+\x00\x00", + SIG_NODE_DESC: { + "logical_type": 1, + "complex_descriptor_available": 0, + "user_descriptor_available": 1, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 4508, + "maximum_buffer_size": 71, + "maximum_incoming_transfer_size": 43, + "server_mask": 10752, + "maximum_outgoing_transfer_size": 43, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2, @@ -4633,7 +5809,21 @@ DEV_SIG_DEV_NO: 84, SIG_MANUFACTURER: "Sinope Technologies", SIG_MODEL: "TH1123ZB", - SIG_NODE_DESC: b"\x12@\x8c\x9c\x11G+\x00\x00\x00+\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 1, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 140, + "manufacturer_code": 4508, + "maximum_buffer_size": 71, + "maximum_incoming_transfer_size": 43, + "server_mask": 0, + "maximum_outgoing_transfer_size": 43, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 769, @@ -4738,7 +5928,21 @@ DEV_SIG_DEV_NO: 85, SIG_MANUFACTURER: "Sinope Technologies", SIG_MODEL: "TH1124ZB", - SIG_NODE_DESC: b"\x11@\x8e\x9c\x11G+\x00\x00\x00+\x00\x00", + SIG_NODE_DESC: { + "logical_type": 1, + "complex_descriptor_available": 0, + "user_descriptor_available": 1, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 142, + "manufacturer_code": 4508, + "maximum_buffer_size": 71, + "maximum_incoming_transfer_size": 43, + "server_mask": 0, + "maximum_outgoing_transfer_size": 43, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 769, @@ -4843,7 +6047,21 @@ DEV_SIG_DEV_NO: 86, SIG_MANUFACTURER: "SmartThings", SIG_MODEL: "outletv4", - SIG_NODE_DESC: b"\x01@\x8e\n\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4362, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2, @@ -4921,7 +6139,21 @@ DEV_SIG_DEV_NO: 87, SIG_MANUFACTURER: "SmartThings", SIG_MODEL: "tagv4", - SIG_NODE_DESC: b"\x02@\x80\n\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4362, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 32768, @@ -4969,7 +6201,21 @@ DEV_SIG_DEV_NO: 88, SIG_MANUFACTURER: "Third Reality, Inc", SIG_MODEL: "3RSS007Z", - SIG_NODE_DESC: b"\x02@\x803\x12\x7fd\x00\x00,d\x00\x00", + SIG_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": 4659, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2, @@ -5012,7 +6258,21 @@ DEV_SIG_DEV_NO: 89, SIG_MANUFACTURER: "Third Reality, Inc", SIG_MODEL: "3RSS008Z", - SIG_NODE_DESC: b"\x02@\x803\x12\x7fd\x00\x00,d\x00\x00", + SIG_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": 4659, + "maximum_buffer_size": 127, + "maximum_incoming_transfer_size": 100, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 100, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 2, @@ -5060,7 +6320,21 @@ DEV_SIG_DEV_NO: 90, SIG_MANUFACTURER: "Visonic", SIG_MODEL: "MCT-340 E", - SIG_NODE_DESC: b"\x02@\x80\x11\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4113, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -5113,7 +6387,21 @@ DEV_SIG_DEV_NO: 91, SIG_MANUFACTURER: "Zen Within", SIG_MODEL: "Zen-01", - SIG_NODE_DESC: b"\x02@\x80X\x11R\x80\x00\x00\x00\x80\x00\x00", + SIG_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": 4440, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 128, + "server_mask": 0, + "maximum_outgoing_transfer_size": 128, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 769, @@ -5176,7 +6464,21 @@ DEV_SIG_DEV_NO: 92, SIG_MANUFACTURER: "_TYZB01_ns1ndbww", SIG_MODEL: "TS0004", - SIG_NODE_DESC: b"\x01@\x8e\x02\x10R\x00\x02\x00,\x00\x02\x00", + SIG_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": 4098, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 512, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 512, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 256, @@ -5250,7 +6552,21 @@ DEV_SIG_DEV_NO: 93, SIG_MANUFACTURER: "netvox", SIG_MODEL: "Z308E3ED", - SIG_NODE_DESC: b"\x02@\x80\x9f\x10RR\x00\x00\x00R\x00\x00", + SIG_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": 4255, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 1026, @@ -5293,7 +6609,21 @@ DEV_SIG_DEV_NO: 94, SIG_MANUFACTURER: "sengled", SIG_MODEL: "E11-G13", - SIG_NODE_DESC: b"\x02@\x8c`\x11RR\x00\x00\x00R\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 140, + "manufacturer_code": 4448, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 257, @@ -5346,7 +6676,21 @@ DEV_SIG_DEV_NO: 95, SIG_MANUFACTURER: "sengled", SIG_MODEL: "E12-N14", - SIG_NODE_DESC: b"\x02@\x8c`\x11RR\x00\x00\x00R\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 140, + "manufacturer_code": 4448, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 257, @@ -5399,7 +6743,21 @@ DEV_SIG_DEV_NO: 96, SIG_MANUFACTURER: "sengled", SIG_MODEL: "Z01-A19NAE26", - SIG_NODE_DESC: b"\x02@\x8c`\x11RR\x00\x00\x00R\x00\x00", + SIG_NODE_DESC: { + "logical_type": 2, + "complex_descriptor_available": 0, + "user_descriptor_available": 0, + "reserved": 0, + "aps_flags": 0, + "frequency_band": 8, + "mac_capability_flags": 140, + "manufacturer_code": 4448, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 257, @@ -5452,7 +6810,21 @@ DEV_SIG_DEV_NO: 97, SIG_MANUFACTURER: "unk_manufacturer", SIG_MODEL: "unk_model", - SIG_NODE_DESC: b"\x01@\x8e\x10\x11RR\x00\x00\x00R\x00\x00", + SIG_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": 4368, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 0, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 512, @@ -5490,7 +6862,21 @@ DEV_SIG_DEV_NO: 98, SIG_MANUFACTURER: "Digi", SIG_MODEL: "XBee3", - SIG_NODE_DESC: b"\x01@\x8e\x1e\x10R\xff\x00\x00,\xff\x00\x00", + SIG_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": 4126, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 255, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 255, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 208: { SIG_EP_TYPE: 1, @@ -5723,7 +7109,21 @@ DEV_SIG_DEV_NO: 99, SIG_MANUFACTURER: "efektalab.ru", SIG_MODEL: "EFEKTA_PWS", - SIG_NODE_DESC: b"\x02@\x80\x00\x00P\xa0\x00\x00\x00\xa0\x00\x00", + SIG_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": 0, + "maximum_buffer_size": 80, + "maximum_incoming_transfer_size": 160, + "server_mask": 0, + "maximum_outgoing_transfer_size": 160, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { SIG_EP_TYPE: 12, @@ -5766,7 +7166,21 @@ DEV_SIG_DEV_NO: 100, SIG_MANUFACTURER: "Konke", SIG_MODEL: "3AFE170100510001", - SIG_NODE_DESC: b"\x02@\x80\x02\x10RR\x00\x00,R\x00\x00", + SIG_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": 4098, + "maximum_buffer_size": 82, + "maximum_incoming_transfer_size": 82, + "server_mask": 11264, + "maximum_outgoing_transfer_size": 82, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { PROFILE_ID: 260, @@ -5812,7 +7226,21 @@ DEV_SIG_DEV_NO: 101, SIG_MANUFACTURER: "Philips", SIG_MODEL: "SML001", - SIG_NODE_DESC: b"\x02@\x80\x0b\x10Y?\x00\x00\x00?\x00\x00", + SIG_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": 4107, + "maximum_buffer_size": 89, + "maximum_incoming_transfer_size": 63, + "server_mask": 0, + "maximum_outgoing_transfer_size": 63, + "descriptor_capability_field": 0, + }, SIG_ENDPOINTS: { 1: { PROFILE_ID: zll.PROFILE_ID,