Skip to content

Conversation

@hcarter-775
Copy link
Contributor

Description of Change

Slightly reduces number of checks in the lock modular logic by using the device type as a first check, before searching for the door lock cluster to map a profile to.

Summary of Completed Tests

Unit tests continue to pass, and VDA onboarding indicated a correct modular profile was selected.

@github-actions
Copy link

@github-actions
Copy link

github-actions bot commented Oct 23, 2025

Test Results

   71 files    458 suites   0s ⏱️
2 382 tests 2 382 ✅ 0 💤 0 ❌
4 031 runs  4 031 ✅ 0 💤 0 ❌

Results for commit c60da06.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Oct 23, 2025

File Coverage
All files 72%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-lock/src/lock_utils.lua 98%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-lock/src/init.lua 92%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-lock/src/new-matter-lock/init.lua 65%

Minimum allowed coverage is 90%

Generated by 🐒 cobertura-action against c60da06

break
local door_lock_ep_data
for _, ep_data in ipairs(device.endpoints) do
if ep_data.device_types[1].device_type_id == DEVICE_TYPE_ID.DOOR_LOCK then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could the endpoint have multiple device types?

Copy link
Contributor Author

@hcarter-775 hcarter-775 Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

per spec, application device types cannot have >1 device type on an endpoint

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, application device types cannot be supported on another endpoint as a secondary.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed offline. Here's the spec wording:

9.2.1. Endpoint Requirements
[9.18] Each Simple endpoint SHALL support exactly one Application device type with the exception that, the endpoint MAY support additional device types which are subsets of the Application device type (the superset). See Section 9.2.10, “Superset Device Types” for cluster requirements of superset devices.

where the complement of simple endpoints are dynamic endpoints, which aren't used by us (now? ever?).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants