SmartThingsEdgeDrivers icon indicating copy to clipboard operation
SmartThingsEdgeDrivers copied to clipboard

Feature/matter remove cluster element list usage

Open cjswedes opened this issue 3 years ago • 8 comments

This is needed since the next library release (0.46.x) will completely deprecate and remove some of the opts functionality of the MatterDevice:get_endpoints(cluster_id, opts).

These changes also discovered a unit test bug that will be fixed in 0.46.x where require "version" would fail when run with the unit test framework.

These changes also discovered a bug to be fixed in 0.46.x where InteractionRequest:pretty_print generates a nil index error when used with a manufacturer extended cluster element that has been added to an existing cluster library cluster object via Attribute:set_parent_cluster()

cjswedes avatar Nov 09 '22 21:11 cjswedes

Unit Test Results

       1 files     305 suites   0s :stopwatch: 1 327 tests 1 324 :heavy_check_mark: 0 :zzz: 0 :x: 3 :fire: 2 383 runs  2 380 :heavy_check_mark: 0 :zzz: 0 :x: 3 :fire:

For more details on these errors, see this check.

Results for commit 3a046367.

github-actions[bot] avatar Nov 09 '22 21:11 github-actions[bot]

Invitation URL: https://bestow-regional.api.smartthings.com/invite/o3jVvo9aWqjV

github-actions[bot] avatar Nov 09 '22 21:11 github-actions[bot]

I added the do not merge label since this will break unit tests (due to the second bug mentioned) until 0.46.x release occurs. There is not an easy hack around that bug in the unit test framework, also waiting will allow the removal of the other unit test framework hack required to make the matter-thermostat tests pass.

cjswedes avatar Nov 09 '22 22:11 cjswedes

I would push to switch over to using the latest dev artifact, but I worry that would lead to us accidentally pushing changes to prod that will break on production hubs.

I would worry this too, and think that we cannot do this. We could do a beta artifact release that comes before users actually have the artifact on their hubs, and we could run tests against the beta artifact and the most recent production release. We could even do it without doing any extra release of artifacts, but would need to clearly define what test failures are a blocker for release.

cjswedes avatar Nov 15 '22 15:11 cjswedes

Test Results

     54 files     345 suites   0s :stopwatch: 1 625 tests 1 625 :heavy_check_mark: 0 :zzz: 0 :x: 2 843 runs  2 843 :heavy_check_mark: 0 :zzz: 0 :x:

Results for commit 8180329e.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Dec 20 '22 21:12 github-actions[bot]

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar May 31 '23 17:05 CLAassistant

File Coverage
All files 93% :white_check_mark:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/init.lua 93% :white_check_mark:

Minimum allowed coverage is 90%

Generated by :monkey: cobertura-action against 8180329e43eca43edda0bad7c0a8d6cdd1182fcd

github-actions[bot] avatar Oct 23 '23 21:10 github-actions[bot]

@tpmanley @greens @ctowns This is ready for a review. It is essentially adding the support for thermostats that have ThermostatOperatingState capability, which is based off the optional attribute ThermostatRunningState. I believe all hubs have FW 0.46 or greater, so various workarounds have been removed and it seems to work with the more recent profile changes for nobattery.

cjswedes avatar Oct 23 '23 21:10 cjswedes