Skip to content

Support additional Camera device types#2590

Open
nickolas-deboom wants to merge 2 commits into
mainfrom
support-additional-camera-device-types
Open

Support additional Camera device types#2590
nickolas-deboom wants to merge 2 commits into
mainfrom
support-additional-camera-device-types

Conversation

@nickolas-deboom

@nickolas-deboom nickolas-deboom commented Dec 1, 2025

Copy link
Copy Markdown
Contributor

This adds support for the following device types:

  • 0x0140 Intercom
  • 0x0141 Audio Doorbell
  • 0x0142 Camera
  • 0x0143 Video Doorbell
  • 0x0144 Floodlight Camera
  • 0x0145 Snapshot Camera
  • 0x0146 Chime
  • 0x0148 DoorBell

@github-actions

github-actions Bot commented Dec 1, 2025

Copy link
Copy Markdown

Duplicate profile check: Passed - no duplicate profiles detected.

@github-actions

github-actions Bot commented Dec 1, 2025

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Dec 1, 2025

Copy link
Copy Markdown

Test Results

   73 files    515 suites   0s ⏱️
2 907 tests 2 907 ✅ 0 💤 0 ❌
4 803 runs  4 803 ✅ 0 💤 0 ❌

Results for commit afca26f.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Dec 1, 2025

Copy link
Copy Markdown

File Coverage
All files 92%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_utils/utils.lua 98%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_utils/device_configuration.lua 94%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/switch_handlers/capability_handlers.lua 92%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/switch_handlers/event_handlers.lua 97%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/switch_handlers/attribute_handlers.lua 80%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/eve_energy/init.lua 91%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/switch_utils/utils.lua 92%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/switch_utils/embedded_cluster_utils.lua 38%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/switch_utils/device_configuration.lua 97%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/camera/init.lua 97%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_handlers/capability_handlers.lua 84%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_handlers/attribute_handlers.lua 96%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/init.lua 97%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/ikea_scroll/init.lua 87%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/aqara_cube/init.lua 95%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/ikea_scroll/scroll_handlers/event_handlers.lua 93%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-switch/src/sub_drivers/third_reality_mk1/init.lua 95%

Minimum allowed coverage is 90%

Generated by 🐒 cobertura-action against afca26f

@samadDotDev samadDotDev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will need to re-evaluate after rebase

Comment thread drivers/SmartThings/matter-switch/src/switch_utils/utils.lua Outdated
@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch from 96ccae6 to 67332b9 Compare February 10, 2026 21:19
@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch 2 times, most recently from e012e2a to a25f0c7 Compare March 3, 2026 17:45
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/utils.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/utils.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_utils/utils.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_utils/fields.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/fields.lua Outdated
@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch 2 times, most recently from 31bd85e to 164095f Compare March 5, 2026 21:21
Comment thread drivers/SmartThings/matter-switch/profiles/av-doorbell.yml Outdated
Comment thread drivers/SmartThings/matter-switch/src/test/test_matter_camera.lua
@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch 2 times, most recently from b1faa74 to 297c2e3 Compare March 9, 2026 20:57
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/utils.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/fields.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/fields.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/fields.lua Outdated
Comment thread drivers/SmartThings/matter-switch/src/sub_drivers/camera/camera_utils/fields.lua Outdated
@samadDotDev samadDotDev self-requested a review March 10, 2026 16:53
Comment thread drivers/SmartThings/matter-switch/src/switch_utils/fields.lua Outdated
@samadDotDev samadDotDev self-requested a review March 10, 2026 16:54
@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch 2 times, most recently from 63e0a39 to 17d5bb3 Compare March 12, 2026 20:49
@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch from a19ba8c to 0080716 Compare May 13, 2026 17:19
Comment thread drivers/SmartThings/matter-switch/src/sub_drivers/camera/can_handle.lua Outdated
table.insert(main_component_capabilities, capabilities.nightVision.ID)
end
if #chime_endpoints > 0 then
table.insert(main_component_capabilities, capabilities.sounds.ID)

@ctowns ctowns Jun 3, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We would also need to include audioMute for handling the Enabled attribute on the chime cluster, which is mandatory

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in afca26f

--- @param subscribed_events table key-value pairs mapping capability ids to subscribed events
function utils.populate_subscribe_request_for_device(checked_device, subscribe_request, capabilities_seen, attributes_seen, events_seen, subscribed_attributes, subscribed_events)
for _, component in pairs(checked_device.st_store.profile.components) do
function utils.populate_subscribe_request_for_device(checked_device, parent_device, subscribe_request, capabilities_seen, attributes_seen, events_seen, subscribed_attributes, subscribed_events)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we just update this function to get the parent device of the checked_device as needed rather than passing on the parent device in the function parameters? If the device doesn't have a parent device, then we would know that it is the parent device.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, changed in afca26f as suggested

deviceTypes:
- id: 0x0145 # Snapshot Camera
deviceProfileName: camera
- id: "matter/chime"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A device that supports Camera and Chime would equally match to the generic fingerprint for both Matter Camera and Matter Chime, so it is ambiguous which profile would be used initially. I know we would expect this to be fixed by the match profile logic, but could you add an additional fingerprint that matches on both the Camera and Chime device types and uses the camera profile? Also, this would allow us to set the default name to "Matter Camera" for these devices.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in afca26f

@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch from 0080716 to 394d80d Compare June 4, 2026 16:08
- component: main
capability: mechanicalPanTiltZoom
version: 1
- component: main

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will need to add videoCapture2 here so that the presentation shows up correctly for iOS, similar to the fix that was made here: #3018

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in afca26f

This adds support for the following device types:
 *  0x0140 Intercom
 *  0x0141 Audio Doorbell
 *  0x0142 Camera
 *  0x0143 Video Doorbell
 *  0x0144 Floodlight Camera
 *  0x0145 Snapshot Camera
 *  0x0146 Chime
 *  0x0148 DoorBell
@nickolas-deboom nickolas-deboom force-pushed the support-additional-camera-device-types branch from 42bfb6a to 054364c Compare June 9, 2026 18:16
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.

4 participants