Is there a possibility to commission a composite matter device in Samsung Smartthings? When we try this, only one of the underlying devices is added to the app. Apple and Google have no problems with this. The product we would like to add has window covering (0x0202) as its primary device type and consists of 2 window covering endpoints, 1 color temperature dimmable light, and 1 contact sensor
Tagging @mocelet, another user, who I believe may have done some personal research into this.
Is this a device you are developing? If so, @nayelyz from developer support might also be able to help.
If not, it would help to know the brand and model of the device.
This would be like the Third Reality night light which is a light, a motion sensor and a luminance sensor.
The problem is that a device in SmartThings can only have one driver, so depending on the driver that’s the features (capabilities) exposed.
SmartThings had to add code to matter-switch driver for instance (used for lights) to account for lights with motion sensors, otherwise it would have used the motion sensor driver for the motion part but that’s not possible now.
I guess right now your only option is creating a custom driver. Well, I would add a sub-driver to the matter-switch driver just like they did with the Eve Energy switch to add power measurements capabilities.
This is indeed a device that we are developing ourselves. We have developed a matter compatible module that will be integrated into the products of Skylux (a Belgian company primarily engaged in daylight products (flat roofs windows etc.)).
Ok, I have moved your post to the section of the forum dedicated to developer support. Hopefully one of the Samsung employees who monitor that section will be able to get the information for you.
This is going to be an issue going forward as more composite devices appear since there’s no generic way in SmartThings to deal with them right now. If it’s not one of the existing supported combinations it needs specific modifications to the drivers.
Manufacturers will face two options:
-
Create a custom driver, profiles, etc. which is some effort and a poor user experience: looking for the driver, installing it, etc.
-
Join the Works With SmartThings program to get the help of the SmartThings team since only certified devices get the support needed in stock drivers.
Hi, @Berth. Welcome to the SmartThings Community!
As mentioned by others, you have two options:
- Develop your driver with the configuration necessary and share it with the users but this won’t be considered an official integration
- Add your driver to the SmartThings repo (Pull Request) and follow the certification process so it’s officially supported by the SmartThings platform.
Note: Adding a profile and sub-driver to an existing driver depends on the functionality of your device, if yours has a special combination of capabilities, adding its functionality to the existing driver would require changes to the base file (
src/init.lua
) and others.
As a reference, here’s the documentation to map the different components from Matter to Smartthings:
- Case 1 - As a multi-component device: MatterDevice Class — SmartThings Edge Device Drivers documentation
- Case 2 - Using parent child model: MatterDevice Class — SmartThings Edge Device Drivers documentation
The difference between case 1 and 2 is that the first creates a single device instance and all the different components appear in one device. The other allows us to create a device instance per component and it’s useful if users will add a voice assistant service like Alexa to SmartThings because multi-component devices don’t appear entirely there, but only the main component.
There are already generic fingerprints for the most common cases, but as devices can have several varieties, it’s hard to support them all.
To ensure devices will work correctly in the SmartThings platform, manufacturers must go through the WWST program as you mentioned.
We have seen some have custom functionality that is different from all other devices of the same kind, that’s why it’s important they’re involved in this process.
While I generally agree with this statement, it should not be true for certified Matter devices. That’s the whole point of the independent third-party Matter standard. It is supposed to free device manufacturers from the need to individually certify their devices with each major Home Automation platform.
Since Samsung is a “Promoter” level member of this standard, they should be fully committed to this approach.
I understand that multi component issues can present some special challenges, and to be honest, I don’t know what the matter standard says about them. If it allows for individual platform requirements for those, OK, but otherwise matter devices are not supposed to require additional certifications in order to work out of the box with matter certified controllers like the SmartThings/Aeotec hubs.
Submitted with respect.
Generic fingerprints work fine with “simple” devices like lights, switches or sensors, but it’s a matter of time we start seeing more mix & match features. Wall switches with motion sensors, lights with illuminance sensors, smart ceiling fans with occupancy sensor and light, etc.
The underlying issue is drivers being monolithic instead of modular, if it makes sense. They target whole devices and not components. There are drivers for motion sensors, there are drivers for lights, but if you have a light with a motion sensor you can’t use both and instead have to literally copy-paste the code from the sensor into the driver for lights, like for the Third Reality night light.
I don’t know if there’s support for Matter smart fans, but let’s say there’s a smart fan driver. Now a manufacturer decides to add a light, quite typical for ceiling fans. Will the matter-switch driver for lights now be a driver for smart fans too?
It may be hard to implement, as @JDRoberts states above but, ideally, any Matter controller should support any Matter device without the manufacturer or the users doing more effort. If a device is a smart fan and a smart light, maybe it’s better to expose both as two devices, each one with its handler, than having half the functionality completely gone by default unless the manufacturer adds specific SmartThings support.
8 posts were split to a new topic: How Should ST Architecture Handle Composite Devices?
I think this is a really interesting subject, but we had started to flood this particular thread, which originated with a developer trying to get support for a specific composite Matter device.
So I have moved the more general architecture discussion to a new thread: