Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SL-ONLY] Add custom rules to selective listening #174

Merged
merged 7 commits into from
Dec 11, 2024

Conversation

mkardous-silabs
Copy link
Contributor

Description

PR fixes Selective Listening to work with ecosystems with uniques behavior; in this case, the homdepod mini.
The homepod has two particular devices:

  • It commissionnes a second fabric without oppening a commissioning window - only with the Fail Safe Timer feature
  • It commissionnes two fabrics with a single subscriptions

To fix the first limitation, we register the ApplicationSleepManager with the ICDManager to get notified of transition from ActiveMode to IdleMode. There is no other mechanism at the moment to know when the fail safe timer gets armed or disarmed. In a follow up, the Application SleepManager can be simplified since it covers the commissioning as well.

To fix the second issue, the PR adds a custom rule set to to cover special use cases that would prevent the device from going to LI based sleep. In the case of apple, we do extra checks on the fabrics to validate that we can go to LI based sleep even if we only have a single subscription for two fabrics.
In a follow up, we should introduce a rule template that can be implemented by different "rules engine" to simplfy the maintenance and adding new checks. The way is done right now has a lot of overhead.

Tests

Manual tests with apple

@mkardous-silabs mkardous-silabs added the sl-up This TAG indicates that this commit needs to be upstreamed to CSA before its next release. label Dec 9, 2024
@mkardous-silabs mkardous-silabs requested a review from a team as a code owner December 9, 2024 21:38
@mkardous-silabs mkardous-silabs changed the title [SL-UP] Add custom rules to selective listening [SL-ONLY] Add custom rules to selective listening Dec 11, 2024
@mkardous-silabs mkardous-silabs added sl-only This TAG indicates that this commit is a silabs-specific commit that cannot be upstream to CSA. and removed sl-up This TAG indicates that this commit needs to be upstreamed to CSA before its next release. labels Dec 11, 2024
@mkardous-silabs mkardous-silabs merged commit ce3e2a4 into release_2.5-1.4 Dec 11, 2024
11 of 12 checks passed
@mkardous-silabs mkardous-silabs deleted the feature/add_custom_rules branch December 11, 2024 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sl-only This TAG indicates that this commit is a silabs-specific commit that cannot be upstream to CSA.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants