-
Notifications
You must be signed in to change notification settings - Fork 484
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
Matter Switch: Support Fan/Light device #2032
base: main
Are you sure you want to change the base?
Conversation
Invitation URL: |
Test Results 66 files 421 suites 0s ⏱️ Results for commit f1c5164. ♻️ This comment has been updated with latest results. |
Minimum allowed coverage is Generated by 🐒 cobertura-action against f1c5164 |
This change adds a new profile for a fan+color light device, brings in handlers for fan attributes and capabilities, and adds new logic to select the new profile and create the component map.
8b8df76
to
feeaad8
Compare
Can you do an onboarding test of a light-button device as well? Also, one with a multi-button device? Just trying to hit all the affected paths. We should also test a parent-child switch device since the handling for their creation was moved. |
if ep ~= main_endpoint then | ||
local button_component = "button" .. component_num | ||
component_map[button_component] = ep | ||
local function build_component_map(device, main_endpoint, endpoints) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we don't need to send the endpoints in as a parameter anymore. Let's just set an endpoints variable in the if-else check whether to use button or fan components.
if #button_eps > 0 then | ||
build_button_profile(device, main_endpoint, #button_eps) | ||
build_mcd_profile(device, main_endpoint) | ||
build_component_map(device, main_endpoint, button_eps) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need this if #button_eps > 0 and #fan_eps > 0 check here, since the same logic is handled within the build_mcd_profile
and build_component_map
function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By that thinking, we also don't need the fan_eps or button_eps get_endpoints calls here.
Type of Change
Checklist
Description of Change
This change adds a new profile for a fan+color light device, brings in handlers for fan attributes and capabilities, and adds new logic to select the new profile and create the component map.
Summary of Completed Tests
Tested with an Orein fan.