matter-python-client 1.5.0a0.dev202610160251__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.
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/PKG-INFO +22 -1
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/README.md +21 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/Objects.py +1 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/HeimanCluster.py +22 -2
- matter_python_client-1.5.0a0.dev202610171259/chip/clusters/cluster_defs/UnitTestingCluster.py +245 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/__init__.py +2 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/PKG-INFO +22 -1
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/SOURCES.txt +2 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/client.py +346 -20
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/custom_clusters.py +3 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/errors.py +9 -1
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/models.py +129 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/pyproject.toml +1 -1
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_camera.py +1 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_client.py +103 -2
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_event_dispatch.py +70 -0
- matter_python_client-1.5.0a0.dev202610171259/tests/test_interaction.py +807 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_webrtc_protocol.py +1 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/ChipUtility.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/ClusterObjects.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/Types.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AccessControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AccountLogin.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Actions.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ActivatedCarbonFilterMonitoring.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AdministratorCommissioning.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AirQuality.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AmbientContextSensing.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ApplicationBasic.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ApplicationLauncher.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AqaraAmbientSensingConfigurationCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AqaraOccupantLocationCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AqaraRadarSensingUnionCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/AudioOutput.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BasicInformation.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Binding.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BooleanState.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BooleanStateConfiguration.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/BridgedDeviceBasicInformation.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CameraAvSettingsUserLevelManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CameraAvStreamManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CarbonDioxideConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CarbonMonoxideConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Channel.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Chime.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ClosureControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ClosureDimension.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ColorControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommissionerControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommodityMetering.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommodityPrice.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/CommodityTariff.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ContentAppObserver.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ContentControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ContentLauncher.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Descriptor.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DeviceEnergyManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DeviceEnergyManagementMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DiagnosticLogs.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DishwasherAlarm.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DishwasherMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DoorLock.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/DraftElectricalMeasurementCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EcosystemInformation.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ElectricalEnergyMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ElectricalGridConditions.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ElectricalPowerMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EnergyEvse.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EnergyEvseMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EnergyPreference.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EthernetNetworkDiagnostics.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/EveCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FanControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FixedLabel.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FlowMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/FormaldehydeConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/GeneralCommissioning.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/GeneralDiagnostics.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Globals.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/GroupKeyManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Groupcast.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Groups.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/HepaFilterMonitoring.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/IcdManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Identify.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/IkeaValveCalibrationCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/IlluminanceMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/InovelliCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/JointFabricAdministrator.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/JointFabricDatastore.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/KeypadInput.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LaundryDryerControls.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LaundryWasherControls.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LaundryWasherMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LevelControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LocalizationConfiguration.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/LowPower.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MediaInput.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MediaPlayback.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Messages.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MeterIdentification.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MicrowaveOvenControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/MicrowaveOvenMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ModeSelect.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/NeoCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/NetworkCommissioning.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/NitrogenDioxideConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OccupancySensing.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OnOff.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OperationalCredentials.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OperationalState.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OtaSoftwareUpdateProvider.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OtaSoftwareUpdateRequestor.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OvenCavityOperationalState.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OvenMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/OzoneConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Pm10ConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Pm1ConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Pm25ConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PowerSource.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PowerSourceConfiguration.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PowerTopology.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PressureMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PumpConfigurationAndControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/PushAvStreamTransport.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RadonConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RefrigeratorAlarm.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RefrigeratorAndTemperatureControlledCabinetMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RelativeHumidityMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RvcCleanMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RvcOperationalState.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/RvcRunMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ScenesManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ServiceArea.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/SmokeCoAlarm.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/SoftwareDiagnostics.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/SoilMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Switch.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TargetNavigator.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TclDehumidifierCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TemperatureAlarm.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TemperatureControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TemperatureMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/Thermostat.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThermostatUserInterfaceConfiguration.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThirdRealityMeteringCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThreadBorderRouterManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThreadNetworkDiagnostics.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ThreadNetworkDirectory.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TimeFormatLocalization.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TimeSynchronization.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TlsCertificateManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TlsClientManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/TotalVolatileOrganicCompoundsConcentrationMeasurement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/UnitLocalization.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/UserLabel.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ValveConfigurationAndControl.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WagoCluster.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WakeOnLan.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WaterHeaterManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WaterHeaterMode.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WaterTankLevelMonitoring.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WebRtcTransportDefinitions.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WebRtcTransportProvider.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WebRtcTransportRequestor.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WiFiNetworkDiagnostics.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WiFiNetworkManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/WindowCovering.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/cluster_defs/ZoneManagement.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/clusters/enum.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/tlv/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/chip/tlv/tlvlist.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/dependency_links.txt +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/not-zip-safe +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/requires.txt +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_python_client.egg-info/top_level.txt +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/connection.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/exceptions.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/models/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/models/device_types.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/client/models/node.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/const.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/__init__.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/api.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/json.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/common/helpers/util.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/matter_server/py.typed +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/setup.cfg +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_bigint_wire.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_bridge_node_fixture.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_bridge_topology.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_client_integration.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_credentials.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_icd.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_imports.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_integration.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_network_topology.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_ota_upload.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → matter_python_client-1.5.0a0.dev202610171259}/tests/test_unix_socket.py +0 -0
- {matter_python_client-1.5.0a0.dev202610160251 → 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.
|
|
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`
|
|
@@ -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=
|
|
66
|
+
ClusterObjectFieldDescriptor(Label="mutingTime", Tag=0, Type=uint),
|
|
67
67
|
])
|
|
68
68
|
|
|
69
|
-
mutingTime:
|
|
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.
|
|
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
|