Add support for Inovelli VTM31-SN Dimmer Switch
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
- If this is your first time contributing code:
- [ ] 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
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.
Duplicate profile check: Passed - no duplicate profiles detected.
Invitation URL: https://bestow-regional.api.smartthings.com/invite/RBlE0Pm9rN2E
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.
| 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
@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)