Yikes!
I hadn’t seen that before, and I actually found it very depressing. This is still a cloud-based system. (“Hive” is the hub and “Swarm” is the cloud.)
Hive
.
The brains of the Rule Engine that contains and is responsible for the majority of the Rule execution code, Hive has two main functions: expose an API to execute Rules and provide an interface for parent services to interact with the platform.
.
To reduce overhead, Hive is dedicated to executing Rules, trusting the parent service to provide contextual data needed for rule execution, such as device states or location modes. For example, when a parent service receives a device state change event, it invokes Hive to evaluate (for example, is equals condition true ), and executes the Rule.
.
Swarm
.
The cloud container for Hive and management of I/O functionality for cloud execution, this service is deployed to the cloud and listens to events from the SmartThings event pipeline. When events are consumed, Swarm invokes Hive to execute Rules. The implementation of Hive’s interface by Swarm is a set of HTTP clients that interact with the SmartThings API.
.
For example, when Hive requires a device state to evaluate is equals condition true , Swarm dispatches a GET request to the Device API and forwards the state to Hive. Similarly, when Hive needs to send a device command, Swarm dispatches a POST request to the Device API.
They are claiming this reduces overhead, but it clearly adds it. You don’t need to go to the cloud to get the device state. (HomeKit doesn’t, Homeseer doesn’t, Home Assistant doesn’t, Hubitat doesn’t, Vera doesn’t, matter won’t on most platforms.)
@Automated_House and I were just discussing today in another thread the fact that right now scenes don’t run local even if all the devices in them are eligible to run locally. If I’m reading this link right, scenes may never run locally. Which is tragic.
Maybe I’m misreading it. I honestly hope so. But that is not a description of “edge computing“ in the more general sense as it’s being used today in the home automation industry. Edge computing is supposed to move as much of the processing as possible as close to the user request as possible. That’s not what this design shows.
Right now, HomeKit requires a Meross Smart Plug to be able to run without the Internet and to operate on the local LAN. SmartThings requires the exact same device in the same home to contact its cloud and have that cloud contact the smartthings cloud to update state. No way is that “reducing overhead.“ And again, if I’m reading this right, that’s the way it will continue to operate in the new swarm/hive/drone paradigm. But again, maybe I’m wrong, and I hope I am.
It definitely doesn’t comfort me, though.