The Cloud Over Your Smarthome
It was time for me to rethink this idea and how I was approaching it. I was using networking logic that did not apply to this situation. I had no idea how much the cloud influenced communications and product design..The use of the cloud for backend processing creates a different communications flow.
The cloud provides the intelligence for most of your smart home voice activated hubs. There is no way that any manufacturer can keep the Hub prices low without offloading the heavy processing to the cloud. Alexa is an AI driven device that uses machine learning to understand how to serve your needs. The brains of your Alexa are in a container in Amazon's global cloud.
For the non technical person, think of the cloud as a huge and highly secure building filled with giant computers and data storage devices that have massive and diverse connections to the Internet. A cloud is a huge computer power generation station that rents out processing. It is very similar to an electrical power plant , except it sends processing power instead of electricity.
To show how the cloud affects smart home communications I am detailing the command flow between an Alexa voice command and a device attached to a Smartthings hub in the same home. This is the flow:
Alexa > Alexa skill for SmartThings > SmartThings Cloud > SmartThings Location > Hub > Device
And device info to Alexa is basically the reverse…
This means if you tell Alexa to turn on the lights Alexa records the command and sends it out your internet connection to Amazon's Skills cloud, The Skills cloud sends it to Samsung's Smartthings cloud. The Smartthings Cloud sends the command back down your internet connection to The Smartthings Hub which then sends the command to the lights. This means that a command to your Alexa could travel as much as a thousand miles to reach the light in the kitchen next to it.
I found this information on a Smartthings forum. This set me off on a quest to find all the ways smart home devices communicate. It was quite a trip figuring this stuff out.
Since I was already working with Smartthings and Home Assistant , I studied their communications options and I added Alexa to the mix. Alexa is ubiquitous and Amazon is a leader in smart home hubs.
Samsung Smartthings is a cloud based and controlled service. Samsung has the “ Smartthings Cloud. The Smartthings Cloud contains the software that runs Samsung Smarthome products and has developer Software Developer Kits (SDK) that allows for third party integrations.The following diagram details the connectivity options
The Smartthings Cloud is the center of this ecosystem. It allows for cloud to cloud connectivity, device to cloud connectivity , device to Hub to cloud connectivity. Each option has defined APIs that enable developers to take advantage of the ever growing ecosystem of applications and automations.
Cloud to cloud connectivity is quite common. Most major smart home device vendors have their own cloud. This enables them to control access, simplify deployment , define interconnectivity rules, lower hardware costs and centralized data collection. It also requires you to have an app with an account for each cloud centric vendor. You need to be aware that when connecting to Smarthings you could lose some of the features and capabilities provided by the other vendors app and cloud.
The following is the process for adding a Ring camera to the Smartthings Cloud.
Connect the Ring Doorbell in the SmartThings app
1. Set up a Ring account
Download and install the Ring app for iOS or Android, and then create a Ring account.
2. Setup the Ring Doorbell
Follow the Ring Doorbell user’s guide to install the doorbell and connect it to Wi-Fi.
3. Connect the Ring Doorbell through the SmartThings app
In the SmartThings mobile app:
From the Home screen, touch the Plus (+) icon and select Device
Select Ring and touch Doorbell or Camera
Choose a Location for the device
Choose a Room for the device and touch Next
Tap the field that says Tap here to enter your Ring credentials
Enter your Ring account email address and password
Touch Next and select Authorize
All Ring Doorbells associated with your Ring account will be automatically selected
If you do not wish to add a particular Ring device to SmartThings, tap Use these Ring Devices and deselect that deviceTap Done to complete setup
This process requires a Ring account to be established and all Ring devices to be set up with the Ring app.You then connect your Ring account to your Smartthings account. Smartthings uses APIs to connect to the Ring cloud to manage the Ring camera. You can use the Ring app or the Smartthings app to control the Ring devices as well as integrate the Ring devices into Smartthings automations,
It is really annoying to deal with a phone full of apps. Every new manufacturer you add requires another login ,a different UI to learn, different nuances in setting up devices,an understanding of feature compatibility and the patience to figure it all out. I was thinking about chewing off a finger while I was setting up my Samsung Smartthings hub . The value of a limited single point of control is constrained by the administrative and technical difficulties of multi vendor management.
Another connection method is to have the device communicate directly with The Smartthings Cloud. This gives the Smartthings direct control over the device and eliminates the need for a separate app. Samsung has it's own devices that communicate directly with it's cloud.Other manufacturers can use SDKs to operate directly with The Smartthings cloud and the Smartthings app. This is a good option , but your choice of devices is limited.
The third method is for devices to connect to the Smartthings Hub. These devices use either Zigbee or Z Wave protocols to communicate with the hub. They do not communicate directly to the Smartthings Cloud.The Hub communicates with The Smart Cloud and passes it's instructions to the devices.
Zigbee and Zwave create local wireless mesh networks. They have low cost communication between devices such as sensors, lights, locks, switches and security systems. The devices have limited intelligence and respond to commands sent by the hub. Using Zigbee and Zwave enables manufacturers to mass produce low cost smart devices. The following link details the two protocols. https://www.gearbrain.com/difference-between-zigbee-and-zwave-2598399416.html
The cloud connectivity approach works for Samsung and other major suppliers. I have three issues with it.My biggest issue is that every smartthings I connect and everything it does goes out over the open internet and into someone's cloud. The data is stored and used for who knows what. It freaks me out that I am allowing all these vendors to have so much intimate knowledge of my and my families life.
The cloud centric approach requires a stable,fast and reliable internet connection. If the internet goes down, you will lose most of your smart home service.The Samsung Smartthings Hub can run limited local automations,but you will lose functionality. If the internet is slow or not performing well, your smart home services will be affected.have I am considering using two internet connections and programming IP/SLA for backup.
The third issue is multi vendor management. Creating all those accounts and managing them frustrated me to no end. Then there is figuring out all of the compatibility issues.I am going to minimize the number of vendors to simplify the process. There is no single vendor you can use to fulfill all your needs, but Samsung, Google and Amazon are getting closer.
The Cloud centric Smarthome is the model of choice for the big boys. If you want to use the voice activated assistants, you will have to deal with the cloud. There are ways to mitigate the privacy issues by using open source hubs. This sends me back to the Home Assistant. It does not need a cloud. My next blog will describe how devices communicate with Home Assistant.