zigpy 0.58.0__tar.gz → 0.58.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. {zigpy-0.58.0/zigpy.egg-info → zigpy-0.58.1}/PKG-INFO +1 -1
  2. {zigpy-0.58.0 → zigpy-0.58.1}/pyproject.toml +1 -1
  3. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_zcl_foundation.py +33 -14
  4. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/foundation.py +1 -1
  5. {zigpy-0.58.0 → zigpy-0.58.1/zigpy.egg-info}/PKG-INFO +1 -1
  6. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy.egg-info/SOURCES.txt +0 -1
  7. zigpy-0.58.0/zigpy/py.typed +0 -0
  8. {zigpy-0.58.0 → zigpy-0.58.1}/COPYING +0 -0
  9. {zigpy-0.58.0 → zigpy-0.58.1}/LICENSE +0 -0
  10. {zigpy-0.58.0 → zigpy-0.58.1}/README.md +0 -0
  11. {zigpy-0.58.0 → zigpy-0.58.1}/setup.cfg +0 -0
  12. {zigpy-0.58.0 → zigpy-0.58.1}/setup.py +0 -0
  13. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_app_state.py +0 -0
  14. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_appdb.py +0 -0
  15. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_appdb_migration.py +0 -0
  16. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_appdb_pysqlite.py +0 -0
  17. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_application.py +0 -0
  18. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_backups.py +0 -0
  19. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_config.py +0 -0
  20. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_device.py +0 -0
  21. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_endpoint.py +0 -0
  22. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_group.py +0 -0
  23. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_listeners.py +0 -0
  24. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_ota.py +0 -0
  25. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_ota_image.py +0 -0
  26. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_ota_provider.py +0 -0
  27. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_ota_validators.py +0 -0
  28. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_quirks.py +0 -0
  29. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_quirks_registry.py +0 -0
  30. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_serial.py +0 -0
  31. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_struct.py +0 -0
  32. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_topology.py +0 -0
  33. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_types.py +0 -0
  34. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_zcl.py +0 -0
  35. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_zcl_clusters.py +0 -0
  36. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_zdo.py +0 -0
  37. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_zdo_types.py +0 -0
  38. {zigpy-0.58.0 → zigpy-0.58.1}/tests/test_zigbee_util.py +0 -0
  39. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/__init__.py +0 -0
  40. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb.py +0 -0
  41. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/__init__.py +0 -0
  42. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v0.sql +0 -0
  43. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v1.sql +0 -0
  44. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v10.sql +0 -0
  45. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v11.sql +0 -0
  46. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v12.sql +0 -0
  47. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v2.sql +0 -0
  48. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v3.sql +0 -0
  49. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v4.sql +0 -0
  50. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v5.sql +0 -0
  51. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v6.sql +0 -0
  52. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v7.sql +0 -0
  53. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v8.sql +0 -0
  54. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/appdb_schemas/schema_v9.sql +0 -0
  55. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/application.py +0 -0
  56. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/backups.py +0 -0
  57. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/config/__init__.py +0 -0
  58. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/config/defaults.py +0 -0
  59. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/config/validators.py +0 -0
  60. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/const.py +0 -0
  61. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/device.py +0 -0
  62. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/endpoint.py +0 -0
  63. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/exceptions.py +0 -0
  64. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/group.py +0 -0
  65. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/listeners.py +0 -0
  66. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/ota/__init__.py +0 -0
  67. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/ota/image.py +0 -0
  68. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/ota/provider.py +0 -0
  69. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/ota/validators.py +0 -0
  70. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/profiles/__init__.py +0 -0
  71. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/profiles/zgp.py +0 -0
  72. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/profiles/zha.py +0 -0
  73. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/profiles/zll.py +0 -0
  74. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/quirks/__init__.py +0 -0
  75. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/quirks/registry.py +0 -0
  76. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/serial.py +0 -0
  77. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/state.py +0 -0
  78. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/topology.py +0 -0
  79. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/types/__init__.py +0 -0
  80. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/types/basic.py +0 -0
  81. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/types/named.py +0 -0
  82. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/types/struct.py +0 -0
  83. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/typing.py +0 -0
  84. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/util.py +0 -0
  85. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/__init__.py +0 -0
  86. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/__init__.py +0 -0
  87. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/closures.py +0 -0
  88. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/general.py +0 -0
  89. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/homeautomation.py +0 -0
  90. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/hvac.py +0 -0
  91. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/lighting.py +0 -0
  92. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/lightlink.py +0 -0
  93. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/manufacturer_specific.py +0 -0
  94. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/measurement.py +0 -0
  95. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/protocol.py +0 -0
  96. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/security.py +0 -0
  97. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zcl/clusters/smartenergy.py +0 -0
  98. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zdo/__init__.py +0 -0
  99. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy/zdo/types.py +0 -0
  100. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy.egg-info/dependency_links.txt +0 -0
  101. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy.egg-info/requires.txt +0 -0
  102. {zigpy-0.58.0 → zigpy-0.58.1}/zigpy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zigpy
3
- Version: 0.58.0
3
+ Version: 0.58.1
4
4
  Summary: Library implementing a Zigbee stack
5
5
  Author-email: Russell Cloran <rcloran@gmail.com>
6
6
  License: GPL-3.0
@@ -32,7 +32,7 @@ dependencies = [
32
32
  exclude = ["tests", "tests.*"]
33
33
 
34
34
  [tool.setuptools.package-data]
35
- "*" = ["appdb_schemas/schema_v*.sql", "py.typed"]
35
+ "*" = ["appdb_schemas/schema_v*.sql"]
36
36
 
37
37
  [project.optional-dependencies]
38
38
  testing = [
@@ -110,20 +110,6 @@ def test_attribute_reporting_config_only_dir_and_attrid():
110
110
  assert repr(arc) == repr(arc2)
111
111
 
112
112
 
113
- def test_typed_collection():
114
- tc = foundation.TypedCollection()
115
- tc.type = 0x20
116
- tc.value = t.LVList[t.uint8_t]([t.uint8_t(i) for i in range(100)])
117
- ser = tc.serialize()
118
-
119
- assert len(ser) == 1 + 1 + 100 # type, length, values
120
-
121
- tc2, data = foundation.TypedCollection.deserialize(ser)
122
-
123
- assert tc2.type == 0x20
124
- assert tc2.value == list(range(100))
125
-
126
-
127
113
  def test_write_attribute_status_record():
128
114
  attr_id = b"\x01\x00"
129
115
  extra = b"12da-"
@@ -801,3 +787,36 @@ def test_command_definition_backwards_compat():
801
787
  assert foundation.ZCLCommandDef("name", {}) == foundation.ZCLCommandDef(
802
788
  name="name", schema={}
803
789
  )
790
+
791
+
792
+ def test_array():
793
+ data = bytes.fromhex(
794
+ "183c010100004841040006000d0106000206010d0206000206020d0306000206030d04060002"
795
+ )
796
+ hdr, data = foundation.ZCLHeader.deserialize(data)
797
+
798
+ command = foundation.GENERAL_COMMANDS[hdr.command_id]
799
+ rsp, rest = command.schema.deserialize(data)
800
+
801
+ assert rest == b""
802
+
803
+ assert rsp.status_records == [
804
+ foundation.ReadAttributeRecord(
805
+ attrid=0x0001,
806
+ status=foundation.Status.SUCCESS,
807
+ value=foundation.TypeValue(
808
+ type=foundation.DATA_TYPES.pytype_to_datatype_id(foundation.Array),
809
+ value=foundation.Array(
810
+ type=foundation.DATA_TYPES.pytype_to_datatype_id(t.LVBytes),
811
+ value=t.LVList[t.LVBytes, t.uint16_t](
812
+ [
813
+ b"\x00\r\x01\x06\x00\x02",
814
+ b"\x01\r\x02\x06\x00\x02",
815
+ b"\x02\r\x03\x06\x00\x02",
816
+ b"\x03\r\x04\x06\x00\x02",
817
+ ]
818
+ ),
819
+ ),
820
+ ),
821
+ )
822
+ ]
@@ -122,7 +122,7 @@ class TypedCollection(TypeValue):
122
122
  def deserialize(cls, data):
123
123
  type, data = t.uint8_t.deserialize(data)
124
124
  python_type = DATA_TYPES[type][1]
125
- values, data = t.LVList[python_type].deserialize(data)
125
+ values, data = t.LVList[python_type, t.uint16_t].deserialize(data)
126
126
 
127
127
  return cls(type=type, value=values), data
128
128
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zigpy
3
- Version: 0.58.0
3
+ Version: 0.58.1
4
4
  Summary: Library implementing a Zigbee stack
5
5
  Author-email: Russell Cloran <rcloran@gmail.com>
6
6
  License: GPL-3.0
@@ -40,7 +40,6 @@ zigpy/endpoint.py
40
40
  zigpy/exceptions.py
41
41
  zigpy/group.py
42
42
  zigpy/listeners.py
43
- zigpy/py.typed
44
43
  zigpy/serial.py
45
44
  zigpy/state.py
46
45
  zigpy/topology.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes