Skip to content

Matter Sensor/Thermostat: Handle invalid unit conversions #3116

Merged
hcarter-775 merged 2 commits into
mainfrom
chore/handle-invalid-unit-conversions
Jul 23, 2026
Merged

Matter Sensor/Thermostat: Handle invalid unit conversions #3116
hcarter-775 merged 2 commits into
mainfrom
chore/handle-invalid-unit-conversions

Conversation

@hcarter-775

@hcarter-775 hcarter-775 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Description of Change

Handle invalid unit conversions by checking for valid molecular weights and valid input values. For Matter Sensor, update handling to include a greater number of conversions and more invalid data handling, akin to what is in Matter Thermostat.

Earlier today, a massive number of coroutine errors were generated related to improper number to string arithmetic operations. This adds greater checks to ensure that does not happen. Also, Matter Sensor was fairly behind and so was updated more generally to match the logic of Matter Thermostat.

@hcarter-775
hcarter-775 force-pushed the chore/handle-invalid-unit-conversions branch from b45f3a5 to 0530456 Compare July 13, 2026 18:03
@hcarter-775
hcarter-775 requested a review from varzac July 13, 2026 18:03
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

Channel deleted.

@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

matter-thermostat_coverage.xml

File Coverage
All files 88%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/device_configuration.lua 89%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/fields.lua 91%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/legacy_device_configuration.lua 84%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/utils.lua 89%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_handlers/capability_handlers.lua 86%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_handlers/attribute_handlers.lua 81%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/init.lua 95%

Minimum allowed coverage is 90%

Generated by 🐒 cobertura-action against 296226b

@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

Test Results

   73 files    540 suites   0s ⏱️
3 242 tests 3 242 ✅ 0 💤 0 ❌
5 237 runs  5 237 ✅ 0 💤 0 ❌

Results for commit 296226b.

♻️ This comment has been updated with latest results.

@tpmanley

Copy link
Copy Markdown
Contributor

Can some tests be added to test the invalid inputs/conversions?

@hcarter-775

Copy link
Copy Markdown
Contributor Author

Can some tests be added to test the invalid inputs/conversions?

Added a few!

@hcarter-775
hcarter-775 requested a review from cjswedes July 16, 2026 21:42
@hcarter-775
hcarter-775 force-pushed the chore/handle-invalid-unit-conversions branch from 42f6792 to 19422bf Compare July 21, 2026 20:45
@hcarter-775
hcarter-775 force-pushed the chore/handle-invalid-unit-conversions branch from 19422bf to 296226b Compare July 23, 2026 02:06
@github-actions

Copy link
Copy Markdown

matter-sensor_coverage.xml

File Coverage
All files 88%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/air_quality_sensor/air_quality_sensor_utils/fields.lua 88%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/air_quality_sensor/air_quality_sensor_utils/device_configuration.lua 86%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/air_quality_sensor/air_quality_sensor_utils/utils.lua 77%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/air_quality_sensor/air_quality_sensor_utils/legacy_device_configuration.lua 97%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/init.lua 93%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/lazy_load_subdriver.lua 57%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/air_quality_sensor/init.lua 87%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/bosch_button_contact/init.lua 83%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/smoke_co_alarm/init.lua 82%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sensor_utils/device_configuration.lua 88%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sensor_utils/utils.lua 95%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sensor_handlers/attribute_handlers.lua 86%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-sensor/src/sub_drivers/air_quality_sensor/air_quality_sensor_handlers/attribute_handlers.lua 81%

Minimum allowed coverage is 90%

Generated by 🐒 cobertura-action against 296226b

@hcarter-775
hcarter-775 merged commit 6c14f7c into main Jul 23, 2026
16 of 20 checks passed
@hcarter-775
hcarter-775 deleted the chore/handle-invalid-unit-conversions branch July 23, 2026 14:36
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.

5 participants