Skip to content

Class consolidation for CommissioningParameters, CustomCommissioningParameters and previous PR generated PaseParams #71695

@FrancoLionti

Description

@FrancoLionti

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions