Skip to content

Implement modular profiles for matter switch #2142

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

Open
wants to merge 24 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
550fec3
Modular profiles test for matter switch
nickolas-deboom May 6, 2025
ad1ff78
Adding support for more clusters and device types
nickolas-deboom May 9, 2025
4e62d29
Fix color control endpoint handling
nickolas-deboom May 9, 2025
6e3893e
Fix color ep handling
nickolas-deboom May 9, 2025
4dad012
Make capabilities optional in profile
nickolas-deboom May 12, 2025
6e4f967
Improve match_modular_profile function
nickolas-deboom May 12, 2025
1998f5a
Add switchLevel in case of on off color dimmer switch
nickolas-deboom May 12, 2025
2de1331
Add initial test cases and improve match_modular_profile logic
nickolas-deboom May 12, 2025
fcd8c40
Fix default endpoint logic for button/switch devices
nickolas-deboom May 13, 2025
2d5f952
Add new test cases
nickolas-deboom May 14, 2025
8eec1f0
Support more device types
nickolas-deboom May 15, 2025
fc899e0
minor fixes
nickolas-deboom May 16, 2025
d1f4768
Fix bug for Light Switch device types
nickolas-deboom May 19, 2025
4ad89bf
Add handling for additional plug components
nickolas-deboom May 22, 2025
803e98e
Branching from matter-switch-test-modular-profiles to create subdriver
nickolas-deboom May 23, 2025
8f55df9
Use static profile subdriver rather than modular subdriver
nickolas-deboom May 28, 2025
5e1806d
Fix issues caused by moving code
nickolas-deboom May 28, 2025
c02b255
Separate find_default_endpoint for modular vs static setups
nickolas-deboom May 28, 2025
935a3b7
general cleanup
nickolas-deboom May 29, 2025
e23c6dc
bug fix for child devices
nickolas-deboom May 29, 2025
1c36a2b
Moving some code to common-utils
nickolas-deboom May 29, 2025
dbcf123
Add method of inserting to front of capability list based on device type
nickolas-deboom May 30, 2025
5edce5a
Fix minor issue with mandatory capabilites
nickolas-deboom Jun 3, 2025
0d5023f
minor formatting
nickolas-deboom Jun 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions drivers/SmartThings/matter-switch/profiles/button-modular.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: button-modular
components:
- id: main
capabilities:
- id: button
version: 1
- id: battery
version: 1
optional: true
- id: batteryLevel
version: 1
optional: true
- id: switch
version: 1
optional: true
- id: switchLevel
version: 1
optional: true
config:
values:
- key: "level.value"
range: [1, 100]
- id: colorTemperature
version: 1
optional: true
config:
values:
- key: "colorTemperature.value"
range: [ 2200, 6500 ]
- id: colorControl
version: 1
optional: true
- id: temperatureMeasurement
version: 1
optional: true
- id: relativeHumidityMeasurement
version: 1
optional: true
- id: powerMeter
version: 1
optional: true
- id: energyMeter
version: 1
optional: true
- id: powerConsumptionReport
version: 1
optional: true
- id: fanMode
version: 1
optional: true
- id: fanSpeedPercent
version: 1
optional: true
- id: firmwareUpdate
version: 1
- id: refresh
version: 1
categories:
- name: RemoteController
- id: button2
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button3
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button4
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button5
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button6
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button7
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button8
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
120 changes: 120 additions & 0 deletions drivers/SmartThings/matter-switch/profiles/light-modular.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: light-modular
components:
- id: main
capabilities:
- id: switch
version: 1
- id: switchLevel
version: 1
optional: true
config:
values:
- key: "level.value"
range: [1, 100]
- id: colorTemperature
version: 1
optional: true
config:
values:
- key: "colorTemperature.value"
range: [ 2200, 6500 ]
- id: colorControl
version: 1
optional: true
- id: temperatureMeasurement
version: 1
optional: true
- id: relativeHumidityMeasurement
version: 1
optional: true
- id: powerMeter
version: 1
optional: true
- id: energyMeter
version: 1
optional: true
- id: powerConsumptionReport
version: 1
optional: true
- id: fanMode
version: 1
optional: true
- id: fanSpeedPercent
version: 1
optional: true
- id: firmwareUpdate
version: 1
- id: refresh
version: 1
categories:
- name: Light
- id: button
optional: true
capabilities:
- id: button
version: 1
optional: true
- id: battery
version: 1
optional: true
- id: batteryLevel
version: 1
optional: true
categories:
- name: RemoteController
- id: button2
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button3
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button4
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button5
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button6
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button7
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button8
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
120 changes: 120 additions & 0 deletions drivers/SmartThings/matter-switch/profiles/plug-modular.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: plug-modular
components:
- id: main
capabilities:
- id: switch
version: 1
- id: switchLevel
version: 1
optional: true
config:
values:
- key: "level.value"
range: [1, 100]
- id: powerMeter
version: 1
optional: true
- id: energyMeter
version: 1
optional: true
- id: powerConsumptionReport
version: 1
optional: true
- id: colorTemperature
version: 1
optional: true
config:
values:
- key: "colorTemperature.value"
range: [ 2200, 6500 ]
- id: colorControl
version: 1
optional: true
- id: temperatureMeasurement
version: 1
optional: true
- id: relativeHumidityMeasurement
version: 1
optional: true
- id: fanMode
version: 1
optional: true
- id: fanSpeedPercent
version: 1
optional: true
- id: firmwareUpdate
version: 1
- id: refresh
version: 1
categories:
- name: SmartPlug
- id: button
optional: true
capabilities:
- id: button
version: 1
optional: true
- id: battery
version: 1
optional: true
- id: batteryLevel
version: 1
optional: true
categories:
- name: RemoteController
- id: button2
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button3
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button4
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button5
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button6
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button7
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
- id: button8
optional: true
capabilities:
- id: button
version: 1
optional: true
categories:
- name: RemoteController
Loading
Loading