Cloud Automation for IoT
Published:
| by Julian Knight Reading time ~6 min.
📖 Posts
| 📎
Development
| 🔖
IoT, Cloud
Having just brought a Google Home, I’ve quickly realised that, although Google are supposedly fairly open about allowing people to develop for it, there are still far too many limitations. To try and get round these, I’ve been looking at automation tools. In this article, I will list some of the key tools and their strengths and weaknesses.
If you want to go beyond the relatively simplistic capabilities provided by the original vendor, you need to look for additional automation tools. Unfortunately, none of the vendors make the creation of personalised actions easy (or even possible sometimes!). So you are highly dependent on third-party integrations.
I’ve focussed here, mainly on tools that will integrate to Google Home. Please feel free to chip in others in the comments.
Overall Conclusions 🔗︎
Sadly, despite several years in which to mature, alternatives to IFTTT seem to be poorly designed and executed.
IFTTT itself has not matured as a platform and remains very restricted. It is fine if you just want to automate a few, simple tasks. However, they have seriously failed to capitalise on their head start.
So it seems as though I will be forced to continue to use IFTTT & will have to live with its limitations.
Security and Safety 🔗︎
The need to interlock several cloud services to overcome the current limitations of smart speakers continues to be a real concern.
It is not clear how secure these 3rd party services are nor is it always clear what interconnectivity you are giving away.
While you are only turning on or off a few lights, this may not be too much of an issue unless you are someone with a high profile or are an annoyance to certain governments, you should be very cautious if considering using any of these services in a more sensitive environment or to control more critical hardware.
Under no circumstances should you ever allow any of these services to have access to anything important (like your financial systems for example). Try to limit the number of interlocked services and always use separate id’s and passwords where possible. For example, never use your Facebook id to log into any of these services.
Why would I want to use these services then? 🔗︎
Some ideas of things you might want to do with a Google Home but cannot without external help:
Ask where your spouse, partner or children are or when they will be home (at least if not all using Android phones)
Always nice to have a meal waiting when you’ve just come back from work - but my daily commute can vary between 50 minutes and 2 hours!
Ask to turn on/off lights connected to a custom home automation system
Rather than the over-priced and insecure branded light systems
Take one or more actions when all of the families mobile phones have left the area around your house
IFTTT 🔗︎
IFTTT was one of the earlier cloud automation tools. As such, it has generally excellent access to many services including a useful selection of IoT related ones.
IFTTT Advantages 🔗︎
- Lots of cloud services and IoT platforms you can connect to
- If all you want to do is a very simple flow or 2, IFTTT makes it fairly painless
- Flows can be created and edited both from the web and the app
IFTTT Disadvantages 🔗︎
- Only ever a single input and single output - impossible to create more complex and interesting flows
- Very limited parameters available for each connection
- Have to activate an applet before you can see what parameters are available
- No possibility to duplicate an applet - for example, if wanting an “on” and “off” version of a flow
- Very little flexibility
IFTTT Conclusion 🔗︎
Really, IFTTT is horrible to work with. It is impossible to look into an applet until you’ve gone through configuration and turned it on. This is especially galling where it means that you have to connect to an external service just to see if it will even be of any use.
It’s extremely limited configuration also leaves you needing to make several (sometimes many) similar versions but you have to do this by hand with lots of unnecessary typing and clicking since you cannot make a copy of existing applets unless they belong to someone else.
Also, it used to be clear whether you were creating an applet that was public or private - this is no longer the case - so you don’t really know whether you are leaking private information.
Stringify 🔗︎
Stringify Advantages 🔗︎
- The flow editing interface in the mobile app is actually not bad
- Complex(ish) flows can be created with multiple inputs and outputs with multiple intermediate processing steps - making it potentially far more useful than IFTTT
Stringify Disadvantages 🔗︎
- No web signup - you can only sign up for the service via a painful mobile interaction in their app. This is pointlessly and needlessly complex and painful.
- Can only edit flows using the app - !?!? Why ?!?! They created 1/2 a web interface.
Stringify Conclusion 🔗︎
The lack of a useful web interface is a foolish error. Stringify does have a web interface but you can only view your flows not edit them. Very poor showing.
Setting up multiple integrations on a mobile phone is unnecessarily painful and pointless. You have to go back and forth between multiple different id/password entry screens and sometime it doesn’t look like the data “took” so you end up trying to do the same again. Frustrating, why would you put customers through that.
Stringify cannot be recommended for anyone other than someone with technical knowledge and a lot of patience.
Yonomi 🔗︎
Yonomi is rather like Stringify and shares many of the issues and failings.
Yonomi Advantages 🔗︎
- None that I could see
Yonomi Disadvantages 🔗︎
- The same annoyances and pain as for Stringify since this is another tool that forces you to do everything via the app and completely fails to provide a more user friendly web interface
- Completely failed to find the Google Home that is quite happily working on my network. But did claim to find a non-existant Amazon Echo.
Yonomi Conclusion 🔗︎
Appears to be a poor copy of Stringify. Or perhaps the reverse is true.
The fact that it couldn’t even discover our Google Home device but did discover an Amazon Echo (which we don’t possess) immediately ruled it out for me.
Even had it worked, Yonomi, like Stringify, cannot be recommended for anyone other than someone with technical knowledge and a lot of patience.
Other services 🔗︎
There are plenty of other automation services, some of which are long established. However, few, if any of them have Google Home integration:
- Zapier
- Microsoft Flow
So they may be useful for other things but not here.
Home automation platforms 🔗︎
There are a number of home automation platforms that support Google Home.
Node-RED
This is generally my “go to” tool for home automation and rapid IoT prototyping. However, it is not really the best tool for Google Home. It has 2 contributed modules, one of which is for sending audio to the Google Home - useful enough. The other integrates to Google’s Action platform which is far too complex for most people to us and is designed specifically for creating public, reusable actions and not for personalised automation.
Home Assistant
This Python-based home automation platform looks promising since it uses configuration files rather than complex programming to integrate.
I’ve not yet tried it so I cannot yet comment on how good or useful it may be.
…