Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

SwitchBot: A Smart Home for Everyone?

DZone's Guide to

SwitchBot: A Smart Home for Everyone?

See how SwitchBot is attempting to alter the smart home market with a ready-made solution, and how their approach is working.

· IoT Zone ·
Free Resource

Over the years, I have attended dozens of conferences and events plugging smart home devices. As a technology enthusiast, a ‘smart home’ was always something I wanted to try, but I have invariably lived in aging rental properties where legacy fittings made it hard to use smart devices or installing them required changes that potentially breach my contract.

When I encountered SwitchBot, I felt like I had found a solution for people like me, a smart home system that fixes onto older fittings, and I can remove and take with me (easily) when I move home. I got my hands on a test kit to see how much it would help me realize my smart home dream.

A SwitchBot Hub and Switch

A SwitchBot setup consists of two types of device, a bot itself, which is a WiFi and Bluetooth enabled motorized push/pull device. You use double-sided tape to stick the bot near your switches, and it pushes them on when instructed to do so. For rocker style switches, there’s a curious small plastic hoop with more double-sided tape you can also attach to the level to pull a switch up again. Mounting the bot in the right location to activate a switch can be fiddly depending on the switch, and for our large square shaped light switch I found it hard to get it to sit right.

Mounted on a switch and the app

You connect to the bot from a phone app with Bluetooth, and after pairing, you can connect to it when needed to activate the switch. The app was fiddly at times, dropping connections, requiring re-pairing and the occasional unhelpful error message.

Yes, it's actually a cloud

The ability to control switches with your smartphone is semi-useful, but adding a SwitchBot hub to the bots adds cloud connectivity to make them more useful. By adding the cloud module, you can connect to your bots to Alexa, IFTTT, and Google Assistant and then trigger the switches from the myriad ways you can interact those services. I tried connecting my hub to Alexa and again hit confusion.

Available Alexa skills

There are two SwitchBot skills listed in the Alexa store, and the setup process installs the one that (in my experience) rarely understood me or worked. Instead, I recommend you use the ‘SwitchBot Smart’ skill as it treats your bots as an Alexa Smart Home Device (I’m not sure what Akexa treats is as with the other skill) and provides much better user experience and leverages the Alexa ecosystem better.

A Smart Home at a Price

I found getting the switches setup and working fiddly, and this is reasonable as there are so many types of switches in the world, it’s a near-impossible task for SwitchBot to make a device that works with them all. This combined with the cost (for example, a dozen bots and one hub is over $700) means that making your home ‘smart’ is still a big task and not for the amateur tinkerer. Implementing the bots also involves compromises, for example, even with the pull adapter, I couldn’t figure out how to accommodate the large European style switches in our house without the switch state reversed, i.e. ‘on’ equal to ‘off’ and vice-versa. Also consider that many plug sockets in the world don’t have on/off switches, so you would need to add switches to them. The SwitchBot is best suited to soft switches with one physical state, i.e., the sorts of switches you find on coffee machines or digital devices.

SwitchBot is a great start of an idea, but it isn’t quite there yet. The company is bringing further devices soon, such as a bot that can rotate blinds, and once they have a good variety of physical bots and a ‘getting started’ pack available for purchase, SwitchBot will be a much more compelling product.

Topics:
iot ,smart home ,diy ,alex ,ifttt ,google assistant

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}