Skip to content

Commit 4b8385a

Browse files
authored
Merge pull request #2598 from SmartThingsCommunity/main
Rolling up main to beta
2 parents d5c5dc9 + afbb8b3 commit 4b8385a

File tree

233 files changed

+8494
-4904
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

233 files changed

+8494
-4904
lines changed

drivers/SmartThings/matter-lock/fingerprints.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ matterManufacturer:
5151
vendorId: 0x1533
5252
productId: 0x0012
5353
deviceProfileName: lock-user-pin-battery
54+
#Kwikset
55+
- id: "5153/66"
56+
deviceLabel: Kwikset Halo Select Plus
57+
vendorId: 0x1421
58+
productId: 0x0042
59+
deviceProfileName: lock-user-pin-battery
5460
#Level
5561
- id: "4767/1"
5662
deviceLabel: Level Lock Plus (Matter)

drivers/SmartThings/matter-lock/src/new-matter-lock/init.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ local NEW_MATTER_LOCK_PRODUCTS = {
8282
{0x135D, 0x00B0}, -- Nuki, Smart Lock
8383
{0x15F2, 0x0001}, -- Viomi, AiSafety Smart Lock E100
8484
{0x158B, 0x0001}, -- Deasino, DS-MT01
85-
{0x10E1, 0x2002} -- VDA
85+
{0x10E1, 0x2002}, -- VDA
86+
{0x1421, 0x0042}, -- Kwikset Halo Select Plus
8687
}
8788

8889
local battery_support = {

drivers/SmartThings/matter-sensor/profiles/matter-motion-battery-illuminance.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Deprecated: do not use this profile for device fingerprinting.
12
name: matter-motion-battery-illuminance
23
components:
34
- id: main

drivers/SmartThings/matter-sensor/profiles/matter-motion-battery.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Deprecated: do not use this profile for device fingerprinting.
12
name: matter-motion-battery
23
components:
34
- id: main

drivers/SmartThings/matter-sensor/profiles/matter-motion-batteryLevel-illuminance.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Deprecated: do not use this profile for device fingerprinting.
12
name: matter-motion-batteryLevel-illuminance
23
components:
34
- id: main

drivers/SmartThings/matter-sensor/profiles/matter-motion-batteryLevel.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Deprecated: do not use this profile for device fingerprinting.
12
name: matter-motion-batteryLevel
23
components:
34
- id: main

drivers/SmartThings/matter-switch/fingerprints.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,41 @@ matterManufacturer:
905905
vendorId: 0x1189
906906
productId: 0x0AC3
907907
deviceProfileName: light-color-level
908+
- id: "4489/61444"
909+
deviceLabel: OSRAM MATTER PLUG UK
910+
vendorId: 0x1189
911+
productId: 0xF004
912+
deviceProfileName: plug-binary
913+
- id: "4489/61443"
914+
deviceLabel: OSRAM MATTER PLUG EU WH
915+
vendorId: 0x1189
916+
productId: 0xF003
917+
deviceProfileName: plug-binary
918+
- id: "4489/61441"
919+
deviceLabel: OSRAM MATTER CLASSIC A 60W
920+
vendorId: 0x1189
921+
productId: 0xF001
922+
deviceProfileName: light-color-level
923+
- id: "4489/2353"
924+
deviceLabel: SMART MATTER FLOORCORN200 MGC WT
925+
vendorId: 0x1189
926+
productId: 0x0931
927+
deviceProfileName: light-color-level
928+
- id: "4489/2350"
929+
deviceLabel: SMART MATTER FLOORCORN140 MGC BK
930+
vendorId: 0x1189
931+
productId: 0x092E
932+
deviceProfileName: light-color-level
933+
- id: "4489/2352"
934+
deviceLabel: SMART MATTER FLOORCORN140 MGC WT
935+
vendorId: 0x1189
936+
productId: 0x0930
937+
deviceProfileName: light-color-level
938+
- id: "4489/2351"
939+
deviceLabel: SMART MATTER FLOORCORN200 MGC BK
940+
vendorId: 0x1189
941+
productId: 0x092F
942+
deviceProfileName: light-color-level
908943
#Shelly
909944
- id: "5264/1"
910945
deviceLabel: Shelly Plug S MTR Gen3

drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_handlers/attribute_handlers.lua

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -396,15 +396,13 @@ end
396396
function CameraAttributeHandlers.camera_av_stream_management_attribute_list_handler(driver, device, ib, response)
397397
if not ib.data.elements then return end
398398
local status_light_enabled_present, status_light_brightness_present = false, false
399-
local attribute_ids, capability_ids = {}, {}
399+
local attribute_ids = {}
400400
for _, attr in ipairs(ib.data.elements) do
401401
if attr.value == clusters.CameraAvStreamManagement.attributes.StatusLightEnabled.ID then
402402
status_light_enabled_present = true
403-
table.insert(capability_ids, capabilities.switch.ID)
404403
table.insert(attribute_ids, clusters.CameraAvStreamManagement.attributes.StatusLightEnabled.ID)
405404
elseif attr.value == clusters.CameraAvStreamManagement.attributes.StatusLightBrightness.ID then
406405
status_light_brightness_present = true
407-
table.insert(capability_ids, capabilities.mode.ID)
408406
table.insert(attribute_ids, clusters.CameraAvStreamManagement.attributes.StatusLightBrightness.ID)
409407
end
410408
end
@@ -413,7 +411,6 @@ function CameraAttributeHandlers.camera_av_stream_management_attribute_list_hand
413411
endpoint_id = ib.endpoint_id,
414412
cluster_id = ib.cluster_id,
415413
attribute_ids = attribute_ids,
416-
capability_ids = capability_ids
417414
}
418415
device:set_field(fields.COMPONENT_TO_ENDPOINT_MAP, component_map, {persist=true})
419416
camera_cfg.match_profile(device, status_light_enabled_present, status_light_brightness_present)

drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_utils/device_configuration.lua

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ function CameraDeviceConfiguration.match_profile(device, status_light_enabled_pr
4949
local microphone_component_capabilities = {}
5050
local doorbell_component_capabilities = {}
5151

52+
local function has_server_cluster_type(cluster)
53+
return cluster.cluster_type == "SERVER" or cluster.cluster_type == "BOTH"
54+
end
55+
5256
local camera_endpoints = switch_utils.get_endpoints_by_device_type(device, fields.DEVICE_TYPE_ID.CAMERA)
5357
if #camera_endpoints > 0 then
54-
if #device:get_endpoints(clusters.WebRTCTransportProvider.ID, {cluster_type = "SERVER"}) > 0 and
55-
#device:get_endpoints(clusters.WebRTCTransportRequestor.ID, {cluster_type = "CLIENT"}) > 0 then
56-
table.insert(main_component_capabilities, capabilities.webrtc.ID)
57-
end
5858
local camera_ep = switch_utils.get_endpoint_info(device, camera_endpoints[1])
5959
for _, ep_cluster in pairs(camera_ep.clusters or {}) do
60-
if ep_cluster.cluster_id == clusters.CameraAvStreamManagement.ID then
60+
if ep_cluster.cluster_id == clusters.CameraAvStreamManagement.ID and has_server_cluster_type(ep_cluster) then
6161
local clus_has_feature = function(feature_bitmap)
6262
return clusters.CameraAvStreamManagement.are_features_supported(feature_bitmap, ep_cluster.feature_map)
6363
end
@@ -92,7 +92,7 @@ function CameraDeviceConfiguration.match_profile(device, status_light_enabled_pr
9292
if clus_has_feature(clusters.CameraAvStreamManagement.types.Feature.NIGHT_VISION) then
9393
table.insert(main_component_capabilities, capabilities.nightVision.ID)
9494
end
95-
elseif ep_cluster.cluster_id == clusters.CameraAvSettingsUserLevelManagement.ID then
95+
elseif ep_cluster.cluster_id == clusters.CameraAvSettingsUserLevelManagement.ID and has_server_cluster_type(ep_cluster) then
9696
local clus_has_feature = function(feature_bitmap)
9797
return clusters.CameraAvSettingsUserLevelManagement.are_features_supported(feature_bitmap, ep_cluster.feature_map)
9898
end
@@ -102,10 +102,13 @@ function CameraDeviceConfiguration.match_profile(device, status_light_enabled_pr
102102
table.insert(main_component_capabilities, capabilities.mechanicalPanTiltZoom.ID)
103103
end
104104
table.insert(main_component_capabilities, capabilities.videoStreamSettings.ID)
105-
elseif ep_cluster.cluster_id == clusters.ZoneManagement.ID then
105+
elseif ep_cluster.cluster_id == clusters.ZoneManagement.ID and has_server_cluster_type(ep_cluster) then
106106
table.insert(main_component_capabilities, capabilities.zoneManagement.ID)
107-
elseif ep_cluster.cluster_id == clusters.OccupancySensing.ID then
107+
elseif ep_cluster.cluster_id == clusters.OccupancySensing.ID and has_server_cluster_type(ep_cluster) then
108108
table.insert(main_component_capabilities, capabilities.motionSensor.ID)
109+
elseif ep_cluster.cluster_id == clusters.WebRTCTransportProvider.ID and has_server_cluster_type(ep_cluster) and
110+
#device:get_endpoints(clusters.WebRTCTransportRequestor.ID, {cluster_type = "CLIENT"}) > 0 then
111+
table.insert(main_component_capabilities, capabilities.webrtc.ID)
109112
end
110113
end
111114
end

drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_utils/utils.lua

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@ function CameraUtils.update_camera_component_map(device)
3535
clusters.CameraAvStreamManagement.attributes.MicrophoneMaxLevel.ID,
3636
clusters.CameraAvStreamManagement.attributes.MicrophoneMinLevel.ID,
3737
},
38-
capability_ids = {
39-
capabilities.audioMute.ID,
40-
capabilities.audioVolume.ID,
41-
}
4238
}
4339
end
4440
if CameraUtils.feature_supported(device, clusters.CameraAvStreamManagement.ID, clusters.CameraAvStreamManagement.types.Feature.VIDEO) then
@@ -51,10 +47,6 @@ function CameraUtils.update_camera_component_map(device)
5147
clusters.CameraAvStreamManagement.attributes.SpeakerMaxLevel.ID,
5248
clusters.CameraAvStreamManagement.attributes.SpeakerMinLevel.ID,
5349
},
54-
capability_ids = {
55-
capabilities.audioMute.ID,
56-
capabilities.audioVolume.ID,
57-
}
5850
}
5951
end
6052
device:set_field(fields.COMPONENT_TO_ENDPOINT_MAP, component_map, {persist = true})

0 commit comments

Comments
 (0)