Does the SmartThings SDK provide APIs for developing my own device to become a “Works with SmartThings” Matter Controller, and allow interaction with other Matter devices through my Matter Controller using the SmartThings app?
Are you asking about creating a device that you will submit through the formal “works with SmartThings“ certification program? Because using that specific phrase requires a whole partnership process.
I want to create my own Matter Controller. Regardless of whether it becomes a “Works with SmartThings” device or not, I would like to use the SmartThings app to control Matter devices through my Matter Controller.
Ok, my understanding is that that at the time of this posting, that won’t work.
Matter controllers are specific to one platform and are technically not “matter devices.”
Their whole purpose is to make sure that the Management of matter messages meet the security and backup requirements of each individual platform. So they generally are proprietary and not open to third parties.
That’s why you need a separate matter controller for each platform that you want to use a matter device with. An apple HomePod mini is a controller, but only for the Apple home platform, and cannot be used as a matter controller on the SmartThings platform or the Google platform or any other platform.
Same thing with SmartThings V2 hub. It only works as a matter controller for the SmartThings platform.
You can build your own matter controller, but it would have to be for your own Home Automation platform, you would not have security access to the matter implementation on the SmartThings platform.
And the SmartThings app is the matter commissioner for the SmartThings platform, but it is not available to third-parties either.
The only way to access the SmartThings platform from a matter controller device that you build is by using the open API through a web end point. But that’s not matter.
If I’m wrong on all this, hopefully someone who knows more will comment, but that’s my understanding.
You can build your own matter end device and then use the SmartThings app and a SmartThings hub to add it to a SmartThings account via matter. But you cannot at the time of this posting write a third-party matter controller that will work with SmartThings.
From the CSA, The independent third-party organization responsible for developing and maintaining the matter specification:
It’s important to note that in most cases, a Matter Controller is exclusive to the company that provides it. For instance, a smart speaker with a Matter Controller from Smart Home Platform A can be used to control Matter devices through the Platform A app, voice control, or other interfaces. But if you want to use Platform B to control Matter devices, you’ll need to have one of Platform B’s Controllers.
So in order to use the SmartThings app to control matter devices, you would need to have an official SmartThings matter controller. And at the time of this posting, there is no option for an outside developer to create one of those that works with SmartThings.
Again, if I’m wrong, hopefully someone will post a correction.
Thanks for the reply first, that is what confused me, as you mentioned that
But the SmartThings Website metioned that it could be support third-party hub
Matter Device Troubleshooting
Check that the Matter device is in pairing mode and in range of both the Matter commissioner (device with the SmartThings app) and the Matter controller (SmartThings or third-party hub). Once connected to the Matter controller, the Matter device will no longer need to directly connect to the Matter commissioner.
That’s why I asked if you were going to go through the “works with SmartThings” certification process.
SmartThings has A partnership agreement with Aeotec (a third-party) to create hubs, which are certified as “works with SmartThings.“ And that can be a matter controller for the SmartThings system. But it’s not an open API, it’s limited to that specific partner.
No, the driver is just a “translator” so to speak between the native device events and the SmartThings capabilities for that device. You would need a driver if you want to add extra features to a certain device or category.
The Matter controller is still the SmartThings/Aeotec hub, which is the one running the driver, and you’ll be limited to the Matter support of SmartThings, e.g. if they don’t support a certain cluster or feature in the API you won’t be able to use it.
Then in this case, what would be the typical application scenario for a custom driver?
If I have a Matter device that supports many features, some of which may not be supported by SmartThings, so I can develop a custom driver to allow SmartThings to control it, right?
That’s the idea. Third Reality night light, which is a hybrid light/motion/luminance sensor started offering compatibility in SmartThings through a custom driver because the official ones didn’t support all those features in a single device. Now they’re integrated into the official drivers though because it’s a certified device.
Eve Energy uses private clusters to send power monitoring readings (at least until Matter 1.3 is spread). Again, it’s on the official drivers but you may as well have a feature not offered by Matter and expose it through a custom driver.
But it’s not to create Matter controllers, it’s just so a device integrates into the SmartThings ecosystem.