This issue stems from PR #41604, where the PaseConnectionParams dataclass was introduced to cleanly type-check PASE parameters.
As noted in the code review,
PaseConnectionParams is nearly identical to the existing CommissioningParameters (from matter.ChipDeviceCtrl), which itself is wrapped into CustomCommissioningParameters (in commissioning.py) to add a discriminator.
Current state
| Class |
Location |
Purpose |
CommissioningParameters |
matter.ChipDeviceCtrl |
SDK-level commissioning params |
CustomCommissioningParameters |
commissioning.py |
Wraps CommissioningParameters + adds randomDiscriminator |
PaseConnectionParams |
commissioning.py (was commissioning_types.py) |
Holds setup_code for PASE establishment |
Overlap with #71505
Draft PR #71685 (for #71505) already renames PaseConnectionParams to PaseParams and moves it to commissioning_types.py. Class consolidation will be conducted here instead of #71505 which was closed.
Goal
Consolidate these into a single class (or at most two with clear separation of concerns) so there is one canonical way to represent commissioning credentials. Remove redundant functions that translate discriminator/passcode into a manual code when that logic can live in one place.
This issue stems from PR #41604, where the
PaseConnectionParamsdataclass was introduced to cleanly type-check PASE parameters.As noted in the code review,
PaseConnectionParamsis nearly identical to the existingCommissioningParameters(frommatter.ChipDeviceCtrl), which itself is wrapped intoCustomCommissioningParameters(incommissioning.py) to add a discriminator.Current state
CommissioningParametersmatter.ChipDeviceCtrlCustomCommissioningParameterscommissioning.pyCommissioningParameters+ addsrandomDiscriminatorPaseConnectionParamscommissioning.py(wascommissioning_types.py)setup_codefor PASE establishmentOverlap with #71505
Draft PR #71685 (for #71505) already renames
PaseConnectionParamstoPaseParamsand moves it tocommissioning_types.py. Class consolidation will be conducted here instead of #71505 which was closed.Goal
Consolidate these into a single class (or at most two with clear separation of concerns) so there is one canonical way to represent commissioning credentials. Remove redundant functions that translate discriminator/passcode into a manual code when that logic can live in one place.