SmartThingsEdgeDrivers icon indicating copy to clipboard operation
SmartThingsEdgeDrivers copied to clipboard

Add support for Inovelli VTM31-SN Dimmer Switch

Open nickolas-deboom opened this issue 1 year ago • 4 comments

Type of Change

  • [ ] WWST Certification Request
    • If this is your first time contributing code:
      • [ ] I have reviewed the README.md file
      • [ ] I have reviewed the CODE_OF_CONDUCT.md file
      • [ ] I have signed the CLA
    • [ ] I plan on entering a WWST Certification Request or have entered a request through the WWST Certification console at developer.smartthings.com
  • [ ] Bug fix
  • [x] New feature
  • [ ] Refactor

Checklist

  • [x] I have performed a self-review of my code
  • [x] I have commented my code in hard-to-understand areas
  • [x] I have verified my changes by testing with a device or have communicated a plan for testing
  • [ ] I am adding new behavior, such as adding a sub-driver, and have added and run new unit tests to cover the new behavior

Description of Change

CHAD-14347

This change adds support for the Inovelli VTM31-SN Dimmer Switch. Initial support for this device was added by PR 1663. This PR includes a profile for this device with embedded preferences as well as handling for these preferences.

The preferences were created to match those defined in Inovelli's matter driver for this device.

Summary of Completed Tests

See here for screenshots from testing with the device. Also see test_matter_multi_button_switch_mcd.lua which tests a mock device with a similar endpoint structure as the Inovelli device.

nickolas-deboom avatar Nov 14 '24 17:11 nickolas-deboom

Duplicate profile check: Passed - no duplicate profiles detected.

github-actions[bot] avatar Nov 14 '24 17:11 github-actions[bot]

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

github-actions[bot] avatar Nov 14 '24 17:11 github-actions[bot]

Test Results

   67 files    441 suites   0s ⏱️ 2 271 tests 2 271 ✅ 0 💤 0 ❌ 3 866 runs  3 866 ✅ 0 💤 0 ❌

Results for commit b98548eb.

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

github-actions[bot] avatar Nov 14 '24 18:11 github-actions[bot]

File Coverage
All files 92% :white_check_mark:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/button-utils.lua 93% :white_check_mark:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/embedded-cluster-utils.lua 38% :x:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/third-reality-mk1/init.lua 95% :white_check_mark:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/inovelli-vtm31-sn/init.lua 94% :white_check_mark:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/aqara-cube/init.lua 96% :white_check_mark:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/init.lua 93% :white_check_mark:
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/eve-energy/init.lua 92% :white_check_mark:

Minimum allowed coverage is 90%

Generated by :monkey: cobertura-action against b98548ebbd2f78164851b038adf3539d4e5d2f05

github-actions[bot] avatar Nov 14 '24 18:11 github-actions[bot]

@hcarter-775 , I decided to move the remaining button functionality (helper functions, handlers, etc) to buttons.lua because I thought it was a bit confusing to have a buttons.lua but only with configure_buttons implemented there, so why not move everything else related to buttons over there too. Let me know what you think, I believe we have talked about doing this at one point. I can also move it to a separate PR and keep this one focused on the Inovelli device if you prefer (but note that no functionality should have changed after moving the code)

nickolas-deboom avatar May 13 '25 18:05 nickolas-deboom