Is there a way, within the SmartThings infrastructure, to have one device talk directly to another device? As a device manufacturer, could I develop a light switch that talks directly to a light bulb (if both had WiFi and both implemented SmartThings) that would work when the internet was down and I didn’t have a hub?
After reading through the developer documentation and posts from the community I think the answer is “no” but wanted to check before I go down a different path (like using Matter instead of SmartThings).
There’s nothing within the SmartThings architecture itself, but the SmartThings architecture is not a network protocol. It allows the use of multiple different transport and application protocols. So you don’t use SmartThings “instead of” Matter. Matter devices can be used with SmartThings because SmartThings hubs are certified “matter controllers.”
Anyway, as far as direct device to device communications, looking only at the protocols that work with SmartThings:
Zwave direct association. This is in the SmartThings architecture, but they don’t offer any official features to let you set it up.
Fortunately, some community developers have created a utility which allows you to set up the zwave direct associations in any device which supports them. So this is popular for some devices, such as the Zooz scene controller.
Zigbee direct binding. again, this is possible, But again, SmartThings doesn’t give us a way to set them up with the official features. In some cases, like a hue dimmer switch, You can do this without custom code by adding both the actuator and target to the SmartThings network and then doing whatever you do with the actuator to bind it to the target device. In other cases, community developers have written custom edge drivers that allow Zigbee group bindings.
Matter binding. This one is supported in the independent third-party specification, but I don’t think SmartThings has supported it yet. And when they do, I’m not sure if it will end up being like either one or two above or if they will actually give us an official feature this time.
Some device manufacturers do ship a button, remote, or accessory switch using Bluetooth or another protocol, which already connects directly to its target device. So it comes already set up. And there’s nothing a customer can do to change it. If the master device can be added to SmartThings, then it works with the SmartThings platform, but the button remains invisible to SmartThings.
There are even a few of these where you can use the Device’s own app to add or make changes, but the button is still invisible to SmartThings, although those more commonly do require a hub of some kind.
———-
So it can certainly be done and it can certainly be done in a way that it is of value to those using the SmartThings Home Automation platform. But it depends on the specific network protocol your device uses.
That’s indeed the answer, bindings, it’s the way so a device can communicate with another. I asked about it in a post and they told me it’s not implemented yet and there’s no ETA.
Eve for instance sells a Matter thermostat and a Matter radiator valve, they’re bound from factory because right now no smart home platform can set bindings.
The generic approach for lights is implementing the OnOff and LevelControl clusters as client in the switch and as server in the lights. That way, when the bindings are set, the switch is controlling the light directly via Matter commands without the hub involved.
Turns out the Eve Motion sensor (Matter) also supports bindings according to the compliance document, so it can turn on and off a Matter light or group of lights by itself. Since it would not depend on the hub or automations, it also means you cannot customise the times or add conditions.
Unfortunately, smart home platforms still can’t set bindings or create Matter groups. Apple Home has binding API for developers, which Eve uses to bind their own products, but SmartThings does not have API. There’s a wonderful post on how to use the official Matter chip-tool to set the binding but it’s everything but user friendly.
The Tapo S200 wireless dimmer bridged via the H100/H200 supports binding too, in fact it only works by binding. In this case the binding would be needed both to directly bind to lights as well as to bind to the hub so it can work as a button in SmartThings (like IKEA Zigbee buttons) - not possible yet.