-
Notifications
You must be signed in to change notification settings - Fork 470
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 1.4 Driver Release #1870
base: main
Are you sure you want to change the base?
Conversation
Invitation URL: |
matter-evse_coverage.xml
matter-hrap_coverage.xml
matter-switch_coverage.xml
matter-thermostat_coverage.xml
Minimum allowed coverage is Generated by 🐒 cobertura-action against 6f0a524 |
7cd7eea
to
07a1493
Compare
This initial commit adds support for the mounted on/off control and mounted dimmable load control device types introduced by the matter 1.4 spec.
07a1493
to
d9cb0ed
Compare
Add initial driver support for HRAP devices
Duplicate profile check: Passed - no duplicate profiles detected. |
drivers/SmartThings/matter-hrap/src/ThreadBorderRouterManagement/init.lua
Show resolved
Hide resolved
drivers/SmartThings/matter-hrap/src/ThreadBorderRouterManagement/server/attributes/init.lua
Outdated
Show resolved
Hide resolved
drivers/SmartThings/matter-hrap/src/ThreadBorderRouterManagement/types/init.lua
Outdated
Show resolved
Hide resolved
drivers/SmartThings/matter-hrap/src/WiFiNetworkManagement/init.lua
Outdated
Show resolved
Hide resolved
drivers/SmartThings/matter-hrap/src/ThreadBorderRouterManagement/init.lua
Outdated
Show resolved
Hide resolved
end | ||
|
||
local function border_router_name_attribute_handler(driver, device, ib) | ||
local router_name = ib.data.value |
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.
For my own understanding - why doesn't there need to be as much string verification for the border router name vs. the SSID name above?
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.
All of this is per the spec:
The border router name attribute is of type string, while the ssid is a type octsr. Therefore, border router name can be taken as is, while we have to ensure the Ssid can be displayed in a printable way (per wifi spec, ssid does not have to be written in UTF8). Further, SSID can be TLV-encoded null if a wifi network hasn't been set up yet on the TBR/NIM. So there's just some extra stuff with Ssid to watch out for per the spec.
However, I did add some extra logic for the border router name after a quick review of the spec- I had missed this on the first pass, but the spec specifies that the name is written <VendorName> <ProductName>._meshcop._udp
. the new logic should remove ._meshcop._udp
if present for a better user-facing display.
drivers/SmartThings/matter-hrap/src/WiFiNetworkManagement/init.lua
Outdated
Show resolved
Hide resolved
I left a few comments but everything else in the HRAP driver looks good to me! I can't remember but was there a file we've updated in the past to prevent github from checking test coverage of the embedded lua libs files? We could update that as part of this PR as well (I just can't remember where it is) |
I get an error when trying to package the hrap driver locally:
Is this happening due to the embedded capability definitions? |
The mounted device types will already join to the correct fingerprint and so do not require the logic added for them in initialize_switch to select the correct profile.
Signed-off-by: s-gatti <[email protected]> Co-authored-by: Hunsup Jung <[email protected]>
…1901) Signed-off-by: s-gatti <[email protected]> Co-authored-by: Hunsup Jung <[email protected]>
Just a heads up, the current unit test results posted on the PR include coverage results for the embedded cluster definitions as well, so you'll want to add each of the new embedded cluster names to the config.luacov so that these cluster definitions are ignored in the code coverage calculations since they can add a lot of bloat to the coverage results and we don't necessarily use all the code in the embedded clusters. |
No, this is because the capabilities don't exist yet, though the embedded definitions work fine (as can be seen by the unit tests). I am currently in the process of getting these defined under a good namespace |
I updated config.luacov in the latest commit: ae7066b |
Type of Change
Checklist
Description of Change
This PR contains changes to support new device types introduced by the Matter 1.4 specification. These device types include the following:
Summary of Completed Tests