Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
82cdfe2
CHAD-17426: Add stateless step capabilities to zigbee-switch
wkhenon Feb 26, 2026
9754f29
Reinit capabilities upon feature change when profile is unchanged
samadDotDev Apr 9, 2026
1094ae3
Handle FeatureMap change, fix profile matching & reinit
samadDotDev Apr 9, 2026
ceb767c
Add Sonoff SNZB-04PR2 (WWSTCERT-10731) and SNZB-04P (WWSTCERT-10704) …
laity-w-sudo Apr 9, 2026
74859d7
WWSTCERT-9786 Inovelli - adding vzw31 red series dimmer switch (#2654)
InovelliUSA Apr 9, 2026
6f306e3
Fix pad19 fingerprint (#2878)
JerryYang01 Apr 9, 2026
3d88670
WWSTCERT-9857 Add Zooz ZSE50 to zwave-siren (for WWST Cert) (#2681)
jtp10181 Apr 9, 2026
0e5dbc8
WWSTCERT-10696 - add new zigbee-humididt-sensor SNZB-02DR2 (#2573)
zmguko Apr 10, 2026
c39614b
WWSTCERT-10652 ULTRALOQ Matter Door Lock (#2889)
cbaumler Apr 10, 2026
d387762
Deep copy latest state, use `pairs` to handle map-like capability tab…
samadDotDev Apr 13, 2026
164d905
Fix luacheck lints
samadDotDev Apr 13, 2026
a883224
add nil check handling for electrical sensor handlers
hcarter-775 Apr 13, 2026
d04ecd9
explicitly check default endpoint for water valves
hcarter-775 Apr 13, 2026
c93c379
WWSTCERT-8045 - Aeotec Home Energy Meter Gen8 (Revert + fixes) (#2791)
KKlimczukS Apr 14, 2026
c5a2410
Merge pull request #2899 from SmartThingsCommunity/add/nil-safety-han…
hcarter-775 Apr 14, 2026
ff3cdb0
Remove unused init function
samadDotDev Apr 14, 2026
8c3a810
Fixing zigbee-switch tests for ColorTempPhysMireds
aleclorimer Apr 9, 2026
23b6134
Merge pull request #2887 from SmartThingsCommunity/matter-cam/re-init…
samadDotDev Apr 14, 2026
a23af85
Merge pull request #2900 from SmartThingsCommunity/support/ensure-def…
hcarter-775 Apr 14, 2026
98114d8
Merge pull request #2886 from SmartThingsCommunity/colorTempPhysicalM…
aleclorimer Apr 14, 2026
24f06e8
use fan-modular profile as device fingerprint
hcarter-775 Apr 13, 2026
d16df97
Merge pull request #2902 from SmartThingsCommunity/update/orein-finge…
hcarter-775 Apr 16, 2026
86c1bfd
Merge pull request #2818 from SmartThingsCommunity/zigbee-switch/stat…
hcarter-775 Apr 16, 2026
4b078ef
WWSTCERT-11013 SMART WIFI MATTER WALL SWITCH 2G (#2905)
cbaumler Apr 16, 2026
a9d1692
add MultiIR Smoke Detector MIR-SM200 (#2874)
thinkaName Apr 21, 2026
a910034
add MultiIR Smart button MIR-SO100 (#2862)
thinkaName Apr 21, 2026
123bfc6
add MultiIR contact sensor MIR_MC100 (#2867)
thinkaName Apr 21, 2026
f865fd9
add MultiIR Water Leak MIR-WA100 (#2896)
thinkaName Apr 21, 2026
ce9777b
WWSTCERT-10993 Linkind Smart Ceiling Light (#2901)
cbaumler Apr 21, 2026
a1104ec
add multiir_motion_MIR-IR100 (#2861)
thinkaName Apr 21, 2026
c3d05cf
WWSTCERT-10189 Ledvance zigbee meter plug (#2729)
LQ107 Apr 21, 2026
b913a44
Delete guest user when SetYearDaySchedule is failed (#2876)
HunsupJung Apr 21, 2026
974773e
WWSTCERT-11096 Sombra Automated Shades and Blinds (#2912)
cbaumler Apr 21, 2026
6dde90d
use clear user status for default schedule lock credential result (#2…
hcarter-775 Apr 21, 2026
3d1287d
WWSTCERT-10842 ThirdReality Smart Night Light -T (#2910)
cbaumler Apr 21, 2026
84a60d4
Fix ledvance unit tests
cjswedes Apr 22, 2026
1918c71
Merge branch 'main' into fix/ledvance-test
cjswedes Apr 22, 2026
6c7b85b
Merge pull request #2918 from SmartThingsCommunity/fix/ledvance-test
cjswedes Apr 22, 2026
bf0e08b
Add Stateless Native Handler Registration (#2914)
hcarter-775 Apr 22, 2026
5608349
CHAD-17092: zwave-sensor lazy loading of sub-drivers
aleclorimer Nov 17, 2025
709cda3
CHAD-18038: Enable single device thread
aleclorimer Apr 21, 2026
5a43981
CHAD-17163: lazy loading of matter-window-covering sub-drivers
aleclorimer Dec 16, 2025
fc60e2b
CHAD-18037: Enable shared_device_thread_enabled
aleclorimer Apr 21, 2026
aa3e513
CHAD-17087: zwave-fan lazy lading of sub-drivers
aleclorimer Nov 17, 2025
e8abbc0
CHAD-18035: Enable shared_device_thread_enabled
aleclorimer Apr 21, 2026
ca450ad
CHAD-17085: zwave-button lazy loading of sub-drivers
aleclorimer Nov 17, 2025
f97770e
CHAD-18034: Enable shared_device_thread_enabled
aleclorimer Apr 21, 2026
451b95a
CHAD-17088: zwave-garage-door-opener lazy load subdrivers
aleclorimer Nov 17, 2025
48c086c
CHAD-18036: Enable shared_device_thread_enabled
aleclorimer Apr 21, 2026
af61d35
Merge pull request #2643 from SmartThingsCommunity/zwave-garage-door-…
aleclorimer Apr 22, 2026
0ac1f3a
Merge pull request #2799 from SmartThingsCommunity/CHAD-17092-zwave-s…
aleclorimer Apr 22, 2026
e80a937
Merge pull request #2663 from SmartThingsCommunity/CHAD-17163-matter-…
aleclorimer Apr 22, 2026
928d2bf
Merge pull request #2642 from SmartThingsCommunity/zwave-fan-lazy-loa…
aleclorimer Apr 22, 2026
1568074
Merge pull request #2640 from SmartThingsCommunity/zwave-button-lazy-…
aleclorimer Apr 22, 2026
5712895
Removing pull_request and leaving pull_request_target
aleclorimer Apr 16, 2026
3e27290
Merge pull request #2907 from SmartThingsCommunity/CHAD-17613-remove-…
aleclorimer Apr 22, 2026
fa3f457
fix feature check for presence sensor device profiling (#2919)
nickolas-deboom Apr 22, 2026
1d53b8d
WWSTCERT-11060 TOFSMYGAA Plug Black/Outdoor (#2911)
cbaumler Apr 22, 2026
f79b3d5
Add Stateless Native Handler Registration (#2915)
hcarter-775 Apr 23, 2026
d7849ae
Philips Hue: Add support for statelessSwitchLevelStep and statelessCo…
hcarter-775 Apr 23, 2026
2300a33
updates in SNZB-04PR2 and SNZB-04P fingerprints (WWSTCERT-10731, WWST…
KKlimczukS Apr 27, 2026
4e4c073
WWSTCERT-11195 Govee Smart Bulb PAR38 (#2925)
cbaumler Apr 27, 2026
a6e93dd
WWSTCERT-11168 Smart Radiator Thermostat X (#2924)
cbaumler Apr 27, 2026
d958b47
Matter/Zigbee Switch: Make transition time for stateless capabilities…
hcarter-775 Apr 28, 2026
e85bd15
Matter Switch: Use defaults bounds if any custom bound is missing (#2…
hcarter-775 Apr 28, 2026
adc9ff9
Matter Switch: use parent device for get_field calls in capability co…
hcarter-775 Apr 28, 2026
b889ef9
Matter Switch: Fix transition time in new parent/child tests (#2933)
hcarter-775 Apr 29, 2026
b42cf0d
CHAD-17566: zigbee-water-leak-sensor enable shared_device_thread
aleclorimer Apr 28, 2026
183b176
CHAD-17566: zigbee-humidity-sensor enable shared_device_thread
aleclorimer Apr 28, 2026
4f16bc5
CHAD-17566: zwave-thermostat enable shared_device_thread
aleclorimer Apr 28, 2026
d2ef6ac
CHAD-17566: zigbee-button enable shared_device_thread
aleclorimer Apr 28, 2026
8b4d80d
CHAD-17566: zigbee-thermostat enable shared_device_thread
aleclorimer Apr 28, 2026
fbde0ac
CHAD-17566: matter-energy enable shared_device_thread
aleclorimer Apr 28, 2026
7a0fd00
CHAD-17566: zwave-electric-meter enable shared_device_thread
aleclorimer Apr 28, 2026
ed4028d
CHAD-17566: zwave-switch enable shared_device_thread
aleclorimer Apr 28, 2026
d61e48a
CHAD-17566: zigbee-watering-kit enable shared_device_thread
aleclorimer Apr 28, 2026
ae23ad3
CHAD-17566: zigbee-lock enable shared_device_thread
aleclorimer Apr 28, 2026
1425d36
CHAD-17566: zwave-valve enable shared_device_thread
aleclorimer Apr 28, 2026
8a10af8
CHAD-17566: zwave-smoke-alarm enable shared_device_thread
aleclorimer Apr 28, 2026
8b21db6
CHAD-17566: zigbee-range-extender enable shared_device_thread
aleclorimer Apr 28, 2026
c7e5776
CHAD-17566: zigbee-air-quality-detector enable shared_device_thread
aleclorimer Apr 28, 2026
ab4503e
CHAD-17566: zigbee-illuminance-sensor enable shared_device_thread
aleclorimer Apr 28, 2026
14cfb09
CHAD-17566: matter-appliance enable shared_device_thread
aleclorimer Apr 28, 2026
d21c079
CHAD-17566: matter-pump enable shared_device_thread
aleclorimer Apr 28, 2026
b243985
CHAD-17566: zigbee-motion-sensor enable shared_device_thread
aleclorimer Apr 28, 2026
038ff51
CHAD-17566: matter-switch enable shared_device_thread
aleclorimer Apr 28, 2026
d669470
CHAD-17566: zigbee-valve enable shared_device_thread
aleclorimer Apr 28, 2026
2db6745
CHAD-17566: zigbee-carbon-monoxide-detector enable shared_device_thread
aleclorimer Apr 28, 2026
4e15677
CHAD-17566: zigbee-switch enable shared_device_thread
aleclorimer Apr 28, 2026
a1c48cb
CHAD-17566: zigbee-smoke-detector enable shared_device_thread
aleclorimer Apr 28, 2026
b02f6cb
CHAD-17566: zwave-siren enable shared_device_thread
aleclorimer Apr 28, 2026
953c286
CHAD-17566: zwave-lock enable shared_device_thread
aleclorimer Apr 28, 2026
1d0871e
CHAD-17566: zigbee-bed enable shared_device_thread
aleclorimer Apr 28, 2026
c6c730f
CHAD-17566: zwave-bulb enable shared_device_thread
aleclorimer Apr 28, 2026
daabdf9
CHAD-17566: zigbee-presence-sensor enable shared_device_thread
aleclorimer Apr 28, 2026
210e977
CHAD-17566: matter-sensor enable shared_device_thread
aleclorimer Apr 28, 2026
e0d42ee
CHAD-17566: zigbee-fan enable shared_device_thread
aleclorimer Apr 28, 2026
c70dbe1
CHAD-17566: zigbee-contact enable shared_device_thread
aleclorimer Apr 28, 2026
d6254b3
CHAD-17566: zigbee-dimmer-remote enable shared_device_thread
aleclorimer Apr 28, 2026
28b70d0
CHAD-17566: zigbee-power-meter enable shared_device_thread
aleclorimer Apr 28, 2026
f442058
CHAD-17566: zigbee-window-treatment enable shared_device_thread
aleclorimer Apr 28, 2026
f1a4443
CHAD-17566: zigbee-sensor enable shared_device_thread
aleclorimer Apr 28, 2026
b449802
CHAD-17566: zigbee-siren enable shared_device_thread
aleclorimer Apr 28, 2026
2132c63
CHAD-17566: zwave-window-treatment enable shared_device_thread
aleclorimer Apr 28, 2026
375e862
CHAD-17566: matter-lock enable shared_device_thread
aleclorimer Apr 28, 2026
baf07d9
Merge pull request #2929 from SmartThingsCommunity/st-protocol-handle…
aleclorimer May 4, 2026
7f042d1
Matter Lock: Re-profile a Lock if it requires an unlatch embedded con…
hcarter-775 May 4, 2026
7503f88
Revert "WWSTCERT-11168 Smart Radiator Thermostat X" (#2948)
cbaumler May 5, 2026
9687c2d
Add support for Irrigation System device type (#2684)
nickolas-deboom May 6, 2026
90c253e
Support Soil Sensor device type (#2757)
nickolas-deboom May 6, 2026
608a9ff
Merge branch 'beta' into release/beta-5-6-26
hcarter-775 May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .github/workflows/jenkins-driver-tests.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
name: Run Jenkins driver tests
on:
pull_request:
paths:
- 'drivers/**'

pull_request_target:
paths:
- 'drivers/**'

permissions:
statuses: write

jobs:
trigger-driver-test:
strategy:
Expand Down
1 change: 1 addition & 0 deletions drivers/SmartThings/matter-appliance/src/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ local matter_driver_template = {
capabilities.windMode
},
sub_drivers = require("sub_drivers"),
shared_device_thread_enabled = true,
}

local matter_driver = MatterDriver("matter-appliance", matter_driver_template)
Expand Down
1 change: 1 addition & 0 deletions drivers/SmartThings/matter-energy/src/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -750,6 +750,7 @@ matter_driver_template = {
capabilities.battery,
capabilities.chargingState
},
shared_device_thread_enabled = true,
}

local matter_driver = MatterDriver("matter-energy", matter_driver_template)
Expand Down
1 change: 1 addition & 0 deletions drivers/SmartThings/matter-lock/src/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -714,6 +714,7 @@ local matter_lock_driver = {
doConfigure = do_configure,
infoChanged = info_changed,
},
shared_device_thread_enabled = true,
}

-----------------------------------------------------------------------------------------------------------------------------
Expand Down
3 changes: 2 additions & 1 deletion drivers/SmartThings/matter-lock/src/new-matter-lock/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,8 @@ local function match_profile_modular(driver, device)
end

table.insert(enabled_optional_component_capability_pairs, {"main", main_component_capabilities})
if lock_utils.optional_capabilities_list_changed(enabled_optional_component_capability_pairs, device.profile.components) then
if modular_profile_name == "lock-modular-embedded-unlatch" -- the embedded config that may be needed is not checked by an optional capability comparison
or lock_utils.optional_capabilities_list_changed(enabled_optional_component_capability_pairs, device.profile.components) then
device:try_update_metadata({profile = modular_profile_name, optional_component_capabilities = enabled_optional_component_capability_pairs})
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -623,4 +623,77 @@ test.register_coroutine_test(
}
)


local mock_nuki_smart_lock_ultra = test.mock_device.build_test_matter_device({
profile = t_utils.get_profile_definition("lock-nocodes-notamper.yml"),
manufacturer_info = {
vendor_id = 0x135D,
product_id = 0x00A1,
},
endpoints = {
{
endpoint_id = 0,
clusters = {
{ cluster_id = clusters.BasicInformation.ID, cluster_type = "SERVER" },
},
device_types = {
{ device_type_id = 0x0016, device_type_revision = 1 } -- RootNode
}
},
{
endpoint_id = 1,
clusters = {
{
cluster_id = DoorLock.ID,
cluster_type = "SERVER",
cluster_revision = 1,
feature_map = 0x1000, -- UNBOLT
},
{
cluster_id = clusters.PowerSource.ID,
cluster_type = "SERVER",
feature_map = 10
},
},
device_types = {
{ device_type_id = 0x000A, device_type_revision = 1 } -- Door Lock
}
}
}
})

local battery_support = {
NO_BATTERY = "NO_BATTERY",
BATTERY_LEVEL = "BATTERY_LEVEL",
BATTERY_PERCENTAGE = "BATTERY_PERCENTAGE"
}

local profiling_data = {
BATTERY_SUPPORT = "__BATTERY_SUPPORT",
}

test.register_coroutine_test(
"Test Nuki Smart Lock Ultra profile change with user and pin supported",
function()
-- technically, since power source attributes must be read, this wouldn't be running via doConfigure, but this is straightforward.
test.socket.device_lifecycle:__queue_receive({ mock_nuki_smart_lock_ultra.id, "doConfigure" })
test.socket.capability:__expect_send(
mock_nuki_smart_lock_ultra:generate_test_message("main", capabilities.lock.supportedLockValues({"locked", "unlocked", "unlatched", "not fully locked"}, {visibility = {displayed = false}}))
)
test.socket.capability:__expect_send(
mock_nuki_smart_lock_ultra:generate_test_message("main", capabilities.lock.supportedLockCommands({"lock", "unlock", "unlatch"}, {visibility = {displayed = false}}))
)
mock_nuki_smart_lock_ultra:expect_metadata_update({ profile = "lock-modular-embedded-unlatch", optional_component_capabilities = {{"main", {"battery"}}}})
mock_nuki_smart_lock_ultra:expect_metadata_update({ provisioning_state = "PROVISIONED" })
end,
{
test_init = function()
test.disable_startup_messages()
test.mock_device.add_test_device(mock_nuki_smart_lock_ultra)
mock_nuki_smart_lock_ultra:set_field(profiling_data.BATTERY_SUPPORT, battery_support.BATTERY_PERCENTAGE, {persist = true}) -- assume this has been set previously
end,
min_api_version = 17
}
)

test.run_registered_tests()
Loading
Loading