Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6a807a2
CHAD-16364: Update Zigbee lock capabilities
cbaumler Apr 30, 2026
2f1d62f
Restructure zigbee-lock
hcarter-775 May 1, 2026
c02dbd6
fixup! remove unused file
hcarter-775 May 3, 2026
2cfd706
only update on added if state is typed
hcarter-775 May 4, 2026
b36d8a8
remove explicit state_change value from capability event
hcarter-775 May 4, 2026
ee7c5fc
update test names, add persisted datastore value for slga migration
hcarter-775 May 6, 2026
d74f6a5
rename COMMAND field since it's not just the name
hcarter-775 May 8, 2026
49d5ce1
start to update field names
hcarter-775 May 8, 2026
b549cb8
a little firther, will likely have to revert
hcarter-775 May 8, 2026
5f5efc6
try an entirely new system
hcarter-775 May 10, 2026
3d7ba5f
add constants
hcarter-775 May 10, 2026
a568835
update consts, add test_lock_tables file
hcarter-775 May 10, 2026
e97ffc9
use more specific response handlers, ignore programming event more cl…
hcarter-775 May 10, 2026
1cf2a33
more fixups, with new tests added
hcarter-775 May 10, 2026
b0a8b0c
add more table helpers, update naming for clarity
hcarter-775 May 10, 2026
5a5a480
add programming notification tests, make DEFS private, update lock op…
hcarter-775 May 10, 2026
8149e1c
fix older tests
hcarter-775 May 11, 2026
9200a49
update samsungsds handling
hcarter-775 May 11, 2026
4c4fa54
remove unnecessary test (post-migration yale is not handled differently)
hcarter-775 May 11, 2026
4f372c9
update generic profile migration logic for new users
hcarter-775 May 11, 2026
ef4cd63
update paths
hcarter-775 May 11, 2026
0872965
update test tables
hcarter-775 May 11, 2026
2289db3
remove unnecessary tests
hcarter-775 May 11, 2026
3e96592
consolidate similar battery test files, remove extra tests
hcarter-775 May 11, 2026
3f8ef87
add more tests, rename some test files
hcarter-775 May 11, 2026
8f92e86
keep persisted store of tables at all times
hcarter-775 May 11, 2026
edf9783
update migration logic to persist data and keep credential/user indic…
hcarter-775 May 11, 2026
2dd21e1
add more zigbee response tests
hcarter-775 May 11, 2026
3589c55
fixup in luacheck
hcarter-775 May 11, 2026
df1cf94
fixup comments for readability
hcarter-775 May 12, 2026
2528678
some programming notification updates for extra safety
hcarter-775 May 12, 2026
3ee2e0f
updates to program event notification handler
hcarter-775 May 12, 2026
fb08645
update tests for updated functionality
hcarter-775 May 12, 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
4 changes: 4 additions & 0 deletions drivers/SmartThings/zigbee-lock/profiles/base-lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ components:
version: 1
- id: lockCodes
version: 1
- id: lockCredentials
version: 1
- id: lockUsers
version: 1
- id: battery
version: 1
- id: firmwareUpdate
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-- Copyright 2026 SmartThings, Inc.
-- Licensed under the Apache License, Version 2.0

return function(opts, driver, device)
local fingerprints = require("bad-battery-reporter.fingerprints")
for _, fingerprint in ipairs(fingerprints) do
if device:get_manufacturer() == fingerprint.mfr and device:get_model() == fingerprint.model then
local subdriver = require("bad-battery-reporter")
return true, subdriver
end
end
return false
end
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-- Copyright 2025 SmartThings, Inc.
-- Licensed under the Apache License, Version 2.0

local BAD_YALE_LOCK_FINGERPRINTS = {
local BAD_BATTERY_REPORTING_LOCK_FINGERPRINTS = {
{ mfr = "Yale", model = "YRD220/240 TSDB" },
{ mfr = "Yale", model = "YRL220 TS LL" },
{ mfr = "Yale", model = "YRD210 PB DB" },
Expand All @@ -10,4 +10,4 @@ local BAD_YALE_LOCK_FINGERPRINTS = {
{ mfr = "ASSA ABLOY iRevo", model = "06ffff2027" }
}

return BAD_YALE_LOCK_FINGERPRINTS
return BAD_BATTERY_REPORTING_LOCK_FINGERPRINTS
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ local battery_report_handler = function(driver, device, value)
device:emit_event(capabilities.battery.battery(value.value))
end

local bad_yale_driver = {
NAME = "YALE BAD Lock Driver",
local bad_battery_reporter_driver = {
NAME = "Bad Battery Reporter Driver",
zigbee_handlers = {
attr = {
[clusters.PowerConfiguration.ID] = {
[clusters.PowerConfiguration.attributes.BatteryPercentageRemaining.ID] = battery_report_handler
}
}
},
can_handle = require("yale.yale-bad-battery-reporter.can_handle"),
can_handle = require("bad-battery-reporter.can_handle")
}

return bad_yale_driver
return bad_battery_reporter_driver
Loading
Loading