matter-python-client 1.5.0a0.dev202610170248__tar.gz → 1.5.0a0.dev202610171259__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 (205) hide show
  1. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/PKG-INFO +22 -1
  2. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/README.md +21 -0
  3. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/Objects.py +1 -0
  4. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/HeimanCluster.py +22 -2
  5. matter_python_client-1.5.0a0.dev202610171259/chip/clusters/cluster_defs/UnitTestingCluster.py +245 -0
  6. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/__init__.py +2 -0
  7. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/PKG-INFO +22 -1
  8. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/SOURCES.txt +2 -0
  9. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/client.py +346 -20
  10. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/custom_clusters.py +3 -0
  11. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/errors.py +9 -1
  12. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/models.py +129 -0
  13. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/pyproject.toml +1 -1
  14. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_camera.py +1 -0
  15. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_client.py +103 -2
  16. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_event_dispatch.py +70 -0
  17. matter_python_client-1.5.0a0.dev202610171259/tests/test_interaction.py +807 -0
  18. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_webrtc_protocol.py +1 -0
  19. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/ChipUtility.py +0 -0
  20. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/__init__.py +0 -0
  21. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/ClusterObjects.py +0 -0
  22. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/Types.py +0 -0
  23. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/__init__.py +0 -0
  24. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AccessControl.py +0 -0
  25. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AccountLogin.py +0 -0
  26. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Actions.py +0 -0
  27. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ActivatedCarbonFilterMonitoring.py +0 -0
  28. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AdministratorCommissioning.py +0 -0
  29. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AirQuality.py +0 -0
  30. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AmbientContextSensing.py +0 -0
  31. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ApplicationBasic.py +0 -0
  32. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ApplicationLauncher.py +0 -0
  33. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AqaraAmbientSensingConfigurationCluster.py +0 -0
  34. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AqaraOccupantLocationCluster.py +0 -0
  35. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AqaraRadarSensingUnionCluster.py +0 -0
  36. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AudioOutput.py +0 -0
  37. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BasicInformation.py +0 -0
  38. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Binding.py +0 -0
  39. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BooleanState.py +0 -0
  40. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BooleanStateConfiguration.py +0 -0
  41. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BridgedDeviceBasicInformation.py +0 -0
  42. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CameraAvSettingsUserLevelManagement.py +0 -0
  43. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CameraAvStreamManagement.py +0 -0
  44. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CarbonDioxideConcentrationMeasurement.py +0 -0
  45. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CarbonMonoxideConcentrationMeasurement.py +0 -0
  46. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Channel.py +0 -0
  47. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Chime.py +0 -0
  48. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ClosureControl.py +0 -0
  49. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ClosureDimension.py +0 -0
  50. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ColorControl.py +0 -0
  51. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommissionerControl.py +0 -0
  52. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommodityMetering.py +0 -0
  53. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommodityPrice.py +0 -0
  54. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommodityTariff.py +0 -0
  55. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ContentAppObserver.py +0 -0
  56. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ContentControl.py +0 -0
  57. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ContentLauncher.py +0 -0
  58. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Descriptor.py +0 -0
  59. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DeviceEnergyManagement.py +0 -0
  60. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DeviceEnergyManagementMode.py +0 -0
  61. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DiagnosticLogs.py +0 -0
  62. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DishwasherAlarm.py +0 -0
  63. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DishwasherMode.py +0 -0
  64. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DoorLock.py +0 -0
  65. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DraftElectricalMeasurementCluster.py +0 -0
  66. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EcosystemInformation.py +0 -0
  67. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ElectricalEnergyMeasurement.py +0 -0
  68. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ElectricalGridConditions.py +0 -0
  69. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ElectricalPowerMeasurement.py +0 -0
  70. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EnergyEvse.py +0 -0
  71. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EnergyEvseMode.py +0 -0
  72. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EnergyPreference.py +0 -0
  73. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EthernetNetworkDiagnostics.py +0 -0
  74. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EveCluster.py +0 -0
  75. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FanControl.py +0 -0
  76. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FixedLabel.py +0 -0
  77. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FlowMeasurement.py +0 -0
  78. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FormaldehydeConcentrationMeasurement.py +0 -0
  79. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/GeneralCommissioning.py +0 -0
  80. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/GeneralDiagnostics.py +0 -0
  81. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Globals.py +0 -0
  82. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/GroupKeyManagement.py +0 -0
  83. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Groupcast.py +0 -0
  84. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Groups.py +0 -0
  85. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/HepaFilterMonitoring.py +0 -0
  86. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/IcdManagement.py +0 -0
  87. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Identify.py +0 -0
  88. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/IkeaValveCalibrationCluster.py +0 -0
  89. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/IlluminanceMeasurement.py +0 -0
  90. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/InovelliCluster.py +0 -0
  91. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/JointFabricAdministrator.py +0 -0
  92. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/JointFabricDatastore.py +0 -0
  93. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/KeypadInput.py +0 -0
  94. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LaundryDryerControls.py +0 -0
  95. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LaundryWasherControls.py +0 -0
  96. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LaundryWasherMode.py +0 -0
  97. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LevelControl.py +0 -0
  98. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LocalizationConfiguration.py +0 -0
  99. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LowPower.py +0 -0
  100. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MediaInput.py +0 -0
  101. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MediaPlayback.py +0 -0
  102. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Messages.py +0 -0
  103. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MeterIdentification.py +0 -0
  104. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MicrowaveOvenControl.py +0 -0
  105. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MicrowaveOvenMode.py +0 -0
  106. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ModeSelect.py +0 -0
  107. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/NeoCluster.py +0 -0
  108. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/NetworkCommissioning.py +0 -0
  109. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/NitrogenDioxideConcentrationMeasurement.py +0 -0
  110. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OccupancySensing.py +0 -0
  111. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OnOff.py +0 -0
  112. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OperationalCredentials.py +0 -0
  113. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OperationalState.py +0 -0
  114. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OtaSoftwareUpdateProvider.py +0 -0
  115. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OtaSoftwareUpdateRequestor.py +0 -0
  116. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OvenCavityOperationalState.py +0 -0
  117. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OvenMode.py +0 -0
  118. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OzoneConcentrationMeasurement.py +0 -0
  119. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Pm10ConcentrationMeasurement.py +0 -0
  120. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Pm1ConcentrationMeasurement.py +0 -0
  121. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Pm25ConcentrationMeasurement.py +0 -0
  122. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PowerSource.py +0 -0
  123. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PowerSourceConfiguration.py +0 -0
  124. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PowerTopology.py +0 -0
  125. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PressureMeasurement.py +0 -0
  126. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PumpConfigurationAndControl.py +0 -0
  127. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PushAvStreamTransport.py +0 -0
  128. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RadonConcentrationMeasurement.py +0 -0
  129. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RefrigeratorAlarm.py +0 -0
  130. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RefrigeratorAndTemperatureControlledCabinetMode.py +0 -0
  131. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RelativeHumidityMeasurement.py +0 -0
  132. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RvcCleanMode.py +0 -0
  133. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RvcOperationalState.py +0 -0
  134. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RvcRunMode.py +0 -0
  135. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ScenesManagement.py +0 -0
  136. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ServiceArea.py +0 -0
  137. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/SmokeCoAlarm.py +0 -0
  138. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/SoftwareDiagnostics.py +0 -0
  139. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/SoilMeasurement.py +0 -0
  140. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Switch.py +0 -0
  141. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TargetNavigator.py +0 -0
  142. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TclDehumidifierCluster.py +0 -0
  143. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TemperatureAlarm.py +0 -0
  144. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TemperatureControl.py +0 -0
  145. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TemperatureMeasurement.py +0 -0
  146. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Thermostat.py +0 -0
  147. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThermostatUserInterfaceConfiguration.py +0 -0
  148. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThirdRealityMeteringCluster.py +0 -0
  149. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThreadBorderRouterManagement.py +0 -0
  150. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThreadNetworkDiagnostics.py +0 -0
  151. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThreadNetworkDirectory.py +0 -0
  152. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TimeFormatLocalization.py +0 -0
  153. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TimeSynchronization.py +0 -0
  154. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TlsCertificateManagement.py +0 -0
  155. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TlsClientManagement.py +0 -0
  156. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TotalVolatileOrganicCompoundsConcentrationMeasurement.py +0 -0
  157. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/UnitLocalization.py +0 -0
  158. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/UserLabel.py +0 -0
  159. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ValveConfigurationAndControl.py +0 -0
  160. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WagoCluster.py +0 -0
  161. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WakeOnLan.py +0 -0
  162. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WaterHeaterManagement.py +0 -0
  163. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WaterHeaterMode.py +0 -0
  164. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WaterTankLevelMonitoring.py +0 -0
  165. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WebRtcTransportDefinitions.py +0 -0
  166. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WebRtcTransportProvider.py +0 -0
  167. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WebRtcTransportRequestor.py +0 -0
  168. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WiFiNetworkDiagnostics.py +0 -0
  169. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WiFiNetworkManagement.py +0 -0
  170. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WindowCovering.py +0 -0
  171. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ZoneManagement.py +0 -0
  172. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/enum.py +0 -0
  173. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/tlv/__init__.py +0 -0
  174. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/chip/tlv/tlvlist.py +0 -0
  175. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/dependency_links.txt +0 -0
  176. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/not-zip-safe +0 -0
  177. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/requires.txt +0 -0
  178. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/top_level.txt +0 -0
  179. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/__init__.py +0 -0
  180. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/__init__.py +0 -0
  181. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/connection.py +0 -0
  182. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/exceptions.py +0 -0
  183. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/models/__init__.py +0 -0
  184. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/models/device_types.py +0 -0
  185. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/models/node.py +0 -0
  186. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/__init__.py +0 -0
  187. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/const.py +0 -0
  188. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/__init__.py +0 -0
  189. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/api.py +0 -0
  190. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/json.py +0 -0
  191. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/util.py +0 -0
  192. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/py.typed +0 -0
  193. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/setup.cfg +0 -0
  194. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_bigint_wire.py +0 -0
  195. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_bridge_node_fixture.py +0 -0
  196. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_bridge_topology.py +0 -0
  197. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_client_integration.py +0 -0
  198. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_credentials.py +0 -0
  199. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_icd.py +0 -0
  200. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_imports.py +0 -0
  201. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_integration.py +0 -0
  202. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_network_topology.py +0 -0
  203. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_ota_upload.py +0 -0
  204. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_unix_socket.py +0 -0
  205. {matter_python_client-1.5.0a0.dev202610170248 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matter-python-client
3
- Version: 1.5.0a0.dev202610170248
3
+ Version: 1.5.0a0.dev202610171259
4
4
  Summary: Python Client for the OHF Matter Server
5
5
  Author-email: Open Home Foundation <hello@openhomefoundation.io>
6
6
  License-Expression: Apache-2.0
@@ -110,6 +110,27 @@ Beyond the `python-matter-server` API, the client exposes commands the Matter.js
110
110
  then streams the bytes to `POST /ota-upload/<upload_id>`. Raises `OtaUploadError` (code 101) for a
111
111
  corrupt image, an expired/spent id, or disabled OTA support.
112
112
  - `get_icd_state`, `register_icd`, `unregister_icd`, `resync_icd` — ICD Check-In registration
113
+ - `read`, `subscribe`, `unsubscribe`, `enable_auto_subscription`, `disable_auto_subscription` — Matter
114
+ read and subscribe requests with explicit paths (schema 14+). `read` returns an `InteractionReport`,
115
+ `subscribe` a `SubscribeResult` (the priming report plus `subscription_id`). A subscription is named by
116
+ `node_id` and `subscription_id` together. Later reports arrive as `subscription_report` events
117
+ (`SubscriptionReportData`), an end the caller did not ask for as `subscription_ended`
118
+ (`SubscriptionEndedData`); both go only to the connection that subscribed and reach `node_filter`
119
+ subscribers. Pass `listener` to `subscribe` to get every event of that one subscription, including those
120
+ the server sends right behind the response. The listener gets no further calls once `unsubscribe` is
121
+ called. When the connection is lost or `disconnect` is called, the listener receives a
122
+ `subscription_ended` that the client builds itself, because the server ends the subscription without
123
+ sending one; `node_filter` subscribers do not get it. If a `subscribe` call is cancelled or times out
124
+ (for example in `asyncio.wait_for`) before it returns, the client ends that subscription with
125
+ `unsubscribe` and logs a failure of that call. `subscribe`, `unsubscribe` and the two auto
126
+ subscription methods need a server running with auto subscription disabled.
127
+ - `commission_with_code` and `commission_on_network` take `discovery_timeout_s` (schema 14+)
128
+ - `send_batched_device_commands` — sends `(endpoint_id, command)` pairs to one node in a single InvokeRequest and returns
129
+ one `BatchedCommandResult` per command (schema 14+)
130
+ - `write_attribute` takes `*` as the endpoint to write all endpoints of the node that have the attribute, and
131
+ `timed_request_timeout_ms` for a timed write (schema 14+)
132
+ - `parse_onboarding_payload` — decodes a QR code or manual pairing code without contacting a device and returns
133
+ `QrOnboardingPayloadResult` or `ManualOnboardingPayloadResult` (schema 14+)
113
134
  - `camera_get_capabilities`, `camera_start_stream`, `camera_provide_answer`,
114
135
  `camera_provide_ice_candidates`, `camera_stop_stream`, `camera_snapshot`, `camera_release_stream`
115
136
  — the camera API (schema 14+). `camera_get_capabilities`, `camera_start_stream`, `camera_stop_stream`
@@ -78,6 +78,27 @@ Beyond the `python-matter-server` API, the client exposes commands the Matter.js
78
78
  then streams the bytes to `POST /ota-upload/<upload_id>`. Raises `OtaUploadError` (code 101) for a
79
79
  corrupt image, an expired/spent id, or disabled OTA support.
80
80
  - `get_icd_state`, `register_icd`, `unregister_icd`, `resync_icd` — ICD Check-In registration
81
+ - `read`, `subscribe`, `unsubscribe`, `enable_auto_subscription`, `disable_auto_subscription` — Matter
82
+ read and subscribe requests with explicit paths (schema 14+). `read` returns an `InteractionReport`,
83
+ `subscribe` a `SubscribeResult` (the priming report plus `subscription_id`). A subscription is named by
84
+ `node_id` and `subscription_id` together. Later reports arrive as `subscription_report` events
85
+ (`SubscriptionReportData`), an end the caller did not ask for as `subscription_ended`
86
+ (`SubscriptionEndedData`); both go only to the connection that subscribed and reach `node_filter`
87
+ subscribers. Pass `listener` to `subscribe` to get every event of that one subscription, including those
88
+ the server sends right behind the response. The listener gets no further calls once `unsubscribe` is
89
+ called. When the connection is lost or `disconnect` is called, the listener receives a
90
+ `subscription_ended` that the client builds itself, because the server ends the subscription without
91
+ sending one; `node_filter` subscribers do not get it. If a `subscribe` call is cancelled or times out
92
+ (for example in `asyncio.wait_for`) before it returns, the client ends that subscription with
93
+ `unsubscribe` and logs a failure of that call. `subscribe`, `unsubscribe` and the two auto
94
+ subscription methods need a server running with auto subscription disabled.
95
+ - `commission_with_code` and `commission_on_network` take `discovery_timeout_s` (schema 14+)
96
+ - `send_batched_device_commands` — sends `(endpoint_id, command)` pairs to one node in a single InvokeRequest and returns
97
+ one `BatchedCommandResult` per command (schema 14+)
98
+ - `write_attribute` takes `*` as the endpoint to write all endpoints of the node that have the attribute, and
99
+ `timed_request_timeout_ms` for a timed write (schema 14+)
100
+ - `parse_onboarding_payload` — decodes a QR code or manual pairing code without contacting a device and returns
101
+ `QrOnboardingPayloadResult` or `ManualOnboardingPayloadResult` (schema 14+)
81
102
  - `camera_get_capabilities`, `camera_start_stream`, `camera_provide_answer`,
82
103
  `camera_provide_ice_candidates`, `camera_stop_stream`, `camera_snapshot`, `camera_release_stream`
83
104
  — the camera API (schema 14+). `camera_get_capabilities`, `camera_start_stream`, `camera_stop_stream`
@@ -167,6 +167,7 @@ __all__ = [
167
167
  "TlsClientManagement",
168
168
  "TotalVolatileOrganicCompoundsConcentrationMeasurement",
169
169
  "UnitLocalization",
170
+ "UnitTestingCluster",
170
171
  "UserLabel",
171
172
  "ValveConfigurationAndControl",
172
173
  "WagoCluster",
@@ -63,10 +63,30 @@ class HeimanCluster(Cluster):
63
63
  def descriptor(cls) -> ClusterObjectDescriptor:
64
64
  return ClusterObjectDescriptor(
65
65
  Fields=[
66
- ClusterObjectFieldDescriptor(Label="mutingTime", Tag=0, Type=typing.Optional[uint]),
66
+ ClusterObjectFieldDescriptor(Label="mutingTime", Tag=0, Type=uint),
67
67
  ])
68
68
 
69
- mutingTime: typing.Optional[uint] = None
69
+ mutingTime: uint = 0
70
+
71
+ @dataclass
72
+ class SirenActivate(ClusterCommand):
73
+ cluster_id: typing.ClassVar[int] = 0x120BFC01
74
+ command_id: typing.ClassVar[int] = 0x00000001
75
+ is_client: typing.ClassVar[bool] = True
76
+ response_type: typing.ClassVar[typing.Optional[str]] = None
77
+
78
+ @ChipUtility.classproperty
79
+ def descriptor(cls) -> ClusterObjectDescriptor:
80
+ return ClusterObjectDescriptor(
81
+ Fields=[
82
+ ClusterObjectFieldDescriptor(Label="sirenType", Tag=0, Type=uint),
83
+ ClusterObjectFieldDescriptor(Label="volume", Tag=1, Type=uint),
84
+ ClusterObjectFieldDescriptor(Label="duration", Tag=2, Type=uint),
85
+ ])
86
+
87
+ sirenType: uint = 0
88
+ volume: uint = 0
89
+ duration: uint = 0
70
90
 
71
91
  class Attributes:
72
92
  @dataclass
@@ -0,0 +1,245 @@
1
+ """UnitTestingCluster cluster definition (auto-generated, DO NOT edit)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+ from dataclasses import dataclass, field
7
+ from enum import IntFlag
8
+
9
+ from ... import ChipUtility
10
+ from ...clusters.enum import MatterIntEnum
11
+ from ...tlv import float32, uint
12
+ from ..ClusterObjects import (Cluster, ClusterAttributeDescriptor, ClusterCommand, ClusterEvent, ClusterObject,
13
+ ClusterObjectDescriptor, ClusterObjectFieldDescriptor)
14
+ from ..Types import Nullable, NullValue
15
+
16
+
17
+ @dataclass
18
+ class UnitTestingCluster(Cluster):
19
+ id: typing.ClassVar[int] = 0xFFF1FC05
20
+
21
+ @ChipUtility.classproperty
22
+ def descriptor(cls) -> ClusterObjectDescriptor:
23
+ return ClusterObjectDescriptor(
24
+ Fields=[
25
+ ClusterObjectFieldDescriptor(Label="floatSingle", Tag=0x00000017, Type=typing.Optional[float32]),
26
+ ClusterObjectFieldDescriptor(Label="octetString", Tag=0x00000019, Type=typing.Optional[bytes]),
27
+ ClusterObjectFieldDescriptor(Label="structAttr", Tag=0x00000025, Type=typing.Optional[UnitTestingCluster.Structs.UnitTestingSimpleStruct]),
28
+ ClusterObjectFieldDescriptor(Label="listLongOctetString", Tag=0x0000002A, Type=typing.Optional[typing.List[bytes]]),
29
+ ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
30
+ ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
31
+ ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]),
32
+ ClusterObjectFieldDescriptor(Label="featureMap", Tag=0x0000FFFC, Type=uint),
33
+ ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint),
34
+ ])
35
+
36
+ floatSingle: typing.Optional[float32] = None
37
+ octetString: typing.Optional[bytes] = None
38
+ structAttr: typing.Optional[UnitTestingCluster.Structs.UnitTestingSimpleStruct] = None
39
+ listLongOctetString: typing.Optional[typing.List[bytes]] = None
40
+ generatedCommandList: typing.List[uint] = field(default_factory=lambda: [])
41
+ acceptedCommandList: typing.List[uint] = field(default_factory=lambda: [])
42
+ attributeList: typing.List[uint] = field(default_factory=lambda: [])
43
+ featureMap: uint = 0
44
+ clusterRevision: uint = 0
45
+
46
+ class Enums:
47
+ class SimpleEnum(MatterIntEnum):
48
+ kUnspecified = 0x00
49
+ kValueA = 0x01
50
+ kValueB = 0x02
51
+ kValueC = 0x03
52
+ # All received enum values that are not listed above will be mapped
53
+ # to kUnknownEnumValue. This is a helper enum value that should only
54
+ # be used by code to process how it handles receiving an unknown
55
+ # enum value. This specific value should never be transmitted.
56
+ kUnknownEnumValue = 4
57
+
58
+ class TestGlobalEnum(MatterIntEnum):
59
+ kSomeValue = 0x00
60
+ kSomeOtherValue = 0x01
61
+ kFinalValue = 0x02
62
+ # All received enum values that are not listed above will be mapped
63
+ # to kUnknownEnumValue. This is a helper enum value that should only
64
+ # be used by code to process how it handles receiving an unknown
65
+ # enum value. This specific value should never be transmitted.
66
+ kUnknownEnumValue = 3
67
+
68
+ class Bitmaps:
69
+ class SimpleBitmap(IntFlag):
70
+ kValueA = 0x1
71
+ kValueB = 0x2
72
+ kValueC = 0x4
73
+
74
+ class Structs:
75
+ @dataclass
76
+ class UnitTestingSimpleStruct(ClusterObject):
77
+ @ChipUtility.classproperty
78
+ def descriptor(cls) -> ClusterObjectDescriptor:
79
+ return ClusterObjectDescriptor(
80
+ Fields=[
81
+ ClusterObjectFieldDescriptor(Label="a", Tag=0, Type=uint),
82
+ ClusterObjectFieldDescriptor(Label="b", Tag=1, Type=bool),
83
+ ClusterObjectFieldDescriptor(Label="c", Tag=2, Type=UnitTestingCluster.Enums.SimpleEnum),
84
+ ClusterObjectFieldDescriptor(Label="d", Tag=3, Type=bytes),
85
+ ClusterObjectFieldDescriptor(Label="e", Tag=4, Type=str),
86
+ ClusterObjectFieldDescriptor(Label="f", Tag=5, Type=UnitTestingCluster.Bitmaps.SimpleBitmap),
87
+ ClusterObjectFieldDescriptor(Label="g", Tag=6, Type=float32),
88
+ ClusterObjectFieldDescriptor(Label="h", Tag=7, Type=float),
89
+ ClusterObjectFieldDescriptor(Label="i", Tag=8, Type=typing.Optional[UnitTestingCluster.Enums.TestGlobalEnum]),
90
+ ])
91
+
92
+ a: uint = 0
93
+ b: bool = False
94
+ c: UnitTestingCluster.Enums.SimpleEnum = 0
95
+ d: bytes = b""
96
+ e: str = ""
97
+ f: UnitTestingCluster.Bitmaps.SimpleBitmap = 0
98
+ g: float32 = 0.0
99
+ h: float = 0.0
100
+ i: typing.Optional[UnitTestingCluster.Enums.TestGlobalEnum] = None
101
+
102
+ class Attributes:
103
+ @dataclass
104
+ class FloatSingle(ClusterAttributeDescriptor):
105
+ @ChipUtility.classproperty
106
+ def cluster_id(cls) -> int:
107
+ return 0xFFF1FC05
108
+
109
+ @ChipUtility.classproperty
110
+ def attribute_id(cls) -> int:
111
+ return 0x00000017
112
+
113
+ @ChipUtility.classproperty
114
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
115
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[float32])
116
+
117
+ value: typing.Optional[float32] = None
118
+
119
+ @dataclass
120
+ class OctetString(ClusterAttributeDescriptor):
121
+ @ChipUtility.classproperty
122
+ def cluster_id(cls) -> int:
123
+ return 0xFFF1FC05
124
+
125
+ @ChipUtility.classproperty
126
+ def attribute_id(cls) -> int:
127
+ return 0x00000019
128
+
129
+ @ChipUtility.classproperty
130
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
131
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[bytes])
132
+
133
+ value: typing.Optional[bytes] = None
134
+
135
+ @dataclass
136
+ class StructAttr(ClusterAttributeDescriptor):
137
+ @ChipUtility.classproperty
138
+ def cluster_id(cls) -> int:
139
+ return 0xFFF1FC05
140
+
141
+ @ChipUtility.classproperty
142
+ def attribute_id(cls) -> int:
143
+ return 0x00000025
144
+
145
+ @ChipUtility.classproperty
146
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
147
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[UnitTestingCluster.Structs.UnitTestingSimpleStruct])
148
+
149
+ value: typing.Optional[UnitTestingCluster.Structs.UnitTestingSimpleStruct] = None
150
+
151
+ @dataclass
152
+ class ListLongOctetString(ClusterAttributeDescriptor):
153
+ @ChipUtility.classproperty
154
+ def cluster_id(cls) -> int:
155
+ return 0xFFF1FC05
156
+
157
+ @ChipUtility.classproperty
158
+ def attribute_id(cls) -> int:
159
+ return 0x0000002A
160
+
161
+ @ChipUtility.classproperty
162
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
163
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[bytes]])
164
+
165
+ value: typing.Optional[typing.List[bytes]] = None
166
+
167
+ @dataclass
168
+ class GeneratedCommandList(ClusterAttributeDescriptor):
169
+ @ChipUtility.classproperty
170
+ def cluster_id(cls) -> int:
171
+ return 0xFFF1FC05
172
+
173
+ @ChipUtility.classproperty
174
+ def attribute_id(cls) -> int:
175
+ return 0x0000FFF8
176
+
177
+ @ChipUtility.classproperty
178
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
179
+ return ClusterObjectFieldDescriptor(Type=typing.List[uint])
180
+
181
+ value: typing.List[uint] = field(default_factory=lambda: [])
182
+
183
+ @dataclass
184
+ class AcceptedCommandList(ClusterAttributeDescriptor):
185
+ @ChipUtility.classproperty
186
+ def cluster_id(cls) -> int:
187
+ return 0xFFF1FC05
188
+
189
+ @ChipUtility.classproperty
190
+ def attribute_id(cls) -> int:
191
+ return 0x0000FFF9
192
+
193
+ @ChipUtility.classproperty
194
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
195
+ return ClusterObjectFieldDescriptor(Type=typing.List[uint])
196
+
197
+ value: typing.List[uint] = field(default_factory=lambda: [])
198
+
199
+ @dataclass
200
+ class AttributeList(ClusterAttributeDescriptor):
201
+ @ChipUtility.classproperty
202
+ def cluster_id(cls) -> int:
203
+ return 0xFFF1FC05
204
+
205
+ @ChipUtility.classproperty
206
+ def attribute_id(cls) -> int:
207
+ return 0x0000FFFB
208
+
209
+ @ChipUtility.classproperty
210
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
211
+ return ClusterObjectFieldDescriptor(Type=typing.List[uint])
212
+
213
+ value: typing.List[uint] = field(default_factory=lambda: [])
214
+
215
+ @dataclass
216
+ class FeatureMap(ClusterAttributeDescriptor):
217
+ @ChipUtility.classproperty
218
+ def cluster_id(cls) -> int:
219
+ return 0xFFF1FC05
220
+
221
+ @ChipUtility.classproperty
222
+ def attribute_id(cls) -> int:
223
+ return 0x0000FFFC
224
+
225
+ @ChipUtility.classproperty
226
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
227
+ return ClusterObjectFieldDescriptor(Type=uint)
228
+
229
+ value: uint = 0
230
+
231
+ @dataclass
232
+ class ClusterRevision(ClusterAttributeDescriptor):
233
+ @ChipUtility.classproperty
234
+ def cluster_id(cls) -> int:
235
+ return 0xFFF1FC05
236
+
237
+ @ChipUtility.classproperty
238
+ def attribute_id(cls) -> int:
239
+ return 0x0000FFFD
240
+
241
+ @ChipUtility.classproperty
242
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
243
+ return ClusterObjectFieldDescriptor(Type=uint)
244
+
245
+ value: uint = 0
@@ -135,6 +135,7 @@ from .TlsCertificateManagement import TlsCertificateManagement
135
135
  from .TlsClientManagement import TlsClientManagement
136
136
  from .TotalVolatileOrganicCompoundsConcentrationMeasurement import TotalVolatileOrganicCompoundsConcentrationMeasurement
137
137
  from .UnitLocalization import UnitLocalization
138
+ from .UnitTestingCluster import UnitTestingCluster
138
139
  from .UserLabel import UserLabel
139
140
  from .ValveConfigurationAndControl import ValveConfigurationAndControl
140
141
  from .WagoCluster import WagoCluster
@@ -286,6 +287,7 @@ __all__ = [
286
287
  "TlsClientManagement",
287
288
  "TotalVolatileOrganicCompoundsConcentrationMeasurement",
288
289
  "UnitLocalization",
290
+ "UnitTestingCluster",
289
291
  "UserLabel",
290
292
  "ValveConfigurationAndControl",
291
293
  "WagoCluster",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matter-python-client
3
- Version: 1.5.0a0.dev202610170248
3
+ Version: 1.5.0a0.dev202610171259
4
4
  Summary: Python Client for the OHF Matter Server
5
5
  Author-email: Open Home Foundation <hello@openhomefoundation.io>
6
6
  License-Expression: Apache-2.0
@@ -110,6 +110,27 @@ Beyond the `python-matter-server` API, the client exposes commands the Matter.js
110
110
  then streams the bytes to `POST /ota-upload/<upload_id>`. Raises `OtaUploadError` (code 101) for a
111
111
  corrupt image, an expired/spent id, or disabled OTA support.
112
112
  - `get_icd_state`, `register_icd`, `unregister_icd`, `resync_icd` — ICD Check-In registration
113
+ - `read`, `subscribe`, `unsubscribe`, `enable_auto_subscription`, `disable_auto_subscription` — Matter
114
+ read and subscribe requests with explicit paths (schema 14+). `read` returns an `InteractionReport`,
115
+ `subscribe` a `SubscribeResult` (the priming report plus `subscription_id`). A subscription is named by
116
+ `node_id` and `subscription_id` together. Later reports arrive as `subscription_report` events
117
+ (`SubscriptionReportData`), an end the caller did not ask for as `subscription_ended`
118
+ (`SubscriptionEndedData`); both go only to the connection that subscribed and reach `node_filter`
119
+ subscribers. Pass `listener` to `subscribe` to get every event of that one subscription, including those
120
+ the server sends right behind the response. The listener gets no further calls once `unsubscribe` is
121
+ called. When the connection is lost or `disconnect` is called, the listener receives a
122
+ `subscription_ended` that the client builds itself, because the server ends the subscription without
123
+ sending one; `node_filter` subscribers do not get it. If a `subscribe` call is cancelled or times out
124
+ (for example in `asyncio.wait_for`) before it returns, the client ends that subscription with
125
+ `unsubscribe` and logs a failure of that call. `subscribe`, `unsubscribe` and the two auto
126
+ subscription methods need a server running with auto subscription disabled.
127
+ - `commission_with_code` and `commission_on_network` take `discovery_timeout_s` (schema 14+)
128
+ - `send_batched_device_commands` — sends `(endpoint_id, command)` pairs to one node in a single InvokeRequest and returns
129
+ one `BatchedCommandResult` per command (schema 14+)
130
+ - `write_attribute` takes `*` as the endpoint to write all endpoints of the node that have the attribute, and
131
+ `timed_request_timeout_ms` for a timed write (schema 14+)
132
+ - `parse_onboarding_payload` — decodes a QR code or manual pairing code without contacting a device and returns
133
+ `QrOnboardingPayloadResult` or `ManualOnboardingPayloadResult` (schema 14+)
113
134
  - `camera_get_capabilities`, `camera_start_stream`, `camera_provide_answer`,
114
135
  `camera_provide_ice_candidates`, `camera_stop_stream`, `camera_snapshot`, `camera_release_stream`
115
136
  — the camera API (schema 14+). `camera_get_capabilities`, `camera_start_stream`, `camera_stop_stream`
@@ -142,6 +142,7 @@ chip/clusters/cluster_defs/TlsCertificateManagement.py
142
142
  chip/clusters/cluster_defs/TlsClientManagement.py
143
143
  chip/clusters/cluster_defs/TotalVolatileOrganicCompoundsConcentrationMeasurement.py
144
144
  chip/clusters/cluster_defs/UnitLocalization.py
145
+ chip/clusters/cluster_defs/UnitTestingCluster.py
145
146
  chip/clusters/cluster_defs/UserLabel.py
146
147
  chip/clusters/cluster_defs/ValveConfigurationAndControl.py
147
148
  chip/clusters/cluster_defs/WagoCluster.py
@@ -194,6 +195,7 @@ tests/test_event_dispatch.py
194
195
  tests/test_icd.py
195
196
  tests/test_imports.py
196
197
  tests/test_integration.py
198
+ tests/test_interaction.py
197
199
  tests/test_network_topology.py
198
200
  tests/test_ota_upload.py
199
201
  tests/test_unix_socket.py