We review the advantages and disadvantages of the official integration of eedomus in Google Home and offer you an alternative through IFTTT.
I’ve been using Google Home mini with eedomus for a couple of months now, enough time to realize its benefits, its limitations and some tricks I’d like to share with you.
Virtual assistants are everywhere. If last year the CES star was Alexa from Amazon, this year it was undoubtedly Google Home. And the Apple HomePod is now available in pre-booking….
Are these voice assistants really useful for home automation? Do they provide more than just a smartphone to control our smart home? Are they worth it? These are questions I asked myself and for which I now have some answers….
The integration of eedomus in Google Home
Let’s start by stressing that the integration of eedomus into Google Home is an official integration, blessed with all the features of the law by Google. Nothing to do, then, with HomeKit integration, which is an unofficial HomeBridge-based development, which is not bad in itself (it is very commendable for the work that has been done in the Homedrige framework), but in practice you realize that it lacks stability and reliability.
With Google Home, everything flows and is very stable. When you give a voice command to control any of your eedomus devices, it simply works and does it instantly.
However, not everything is perfect, as you can imagine, although it might seem so. What’s the catch, then, you may ask. The catch is the intrinsic workings of anything you integrate into Google Home (not just eedomus).
Integrating any system supported by Google Home is very easy. In the Google Home for iOS or Android application, go to Home Control / Manage Accounts, select the supported system or device you want to add, and enter your system credentials. It’s that easy.
From that moment on, the different elements you have in that system appear in Google Home. You can change the name if you want to (this is necessary right now because Google Home doesn’t understand Spanish and you will have to put names according to one of the languages that the Google wizard understands for now, that is English, French, German or Japanese).
Also, it is convenient that you create rooms in Google Home as it is not able to import the ones you have created in eedomus and having your devices organized by rooms is very useful when telling Google Home “Ok Google, turn off the lights in the living room”.
So far so good, you’ll think. The problem is that when you register a service or system in Google Home, either eedomus or another, I insist, Google Home considers it a complete and definitive system. That means that if you add any new devices to your system (a new peripheral in eedomus, for example), they don’t appear in Google Home. The only way to get the new thing to appear is to delete the Google Home system and register it again, i.e. rename each of your eedomus peripherals and create new rooms…
This is simply not feasible in many cases, especially if we are talking about a modular home automation system that, by definition, is bound to grow over time. Even when Google Home is available in Spanish and we can use the names of our peripherals as they are imported from eedomus, we still have to recreate rooms in Google Home each time we add a new device…
Google Assistant in IFTTT
The alternative is called IFTTT
This inconvenience, for me insurmountable, makes it impossible for me to use the “native” integration of eedomus in Google Home, because my eedomus is a system that changes constantly, every day, several times a day even, because I keep trying and changing things. I can’t be constantly re-registering my eedomus in Google Home so that it takes into account the changes. Too much work.
In my case, the alternative is to go through IFTTT. IFTTT has a service called “Google Assistant” that allows you to create Applets based on Google Home.
So if you create Applets whose “THIS” is the “Google Assistant” service and whose “THAT” is the Webhooks service, you can create all the interactions you want between your Google Home and eedomus.
True, this form of integration is more laborious because you have to create an Applet for each action, but when you have created 2 or 3, it is always the same and it will take you no more than a little time to create 20 or 30.
IFTTT’s Google Assistant service is quite well designed. It allows you to choose the language from the 4 currently available, as well as to tell Google Assistant up to 3 different ways to accept an order (e.g. “turn on my office light”, “turn on my office light”, “turn on my office light”, “turn on my office light”, “turn on my office light”, “turn on my office light”).
IFTTT’s Google Assistant service is quite well designed. It allows you to choose the language from the 4 currently available, as well as to tell Google Assistant up to 3 different ways to accept an order (e.g. “turn on my office light”, “turn on my office light”, “turn on Philippe’s office light”), and it also allows you to choose the phrase that Google Home will pronounce in response to your request.
Therefore, if, like me, you have a home automation system in permanent evolution, whether it is eedomus or another, my recommendation is that you opt for IFTTT rather than “native” integration. This way you won’t have the inconvenience of this one (the hassle of having to reset everything every time you add something) and you’ll also have some added advantages:
You can integrate nothing but what really interests and is useful to you.
You can integrate peripherals that, due to the limitations of virtual assistants, cannot currently be integrated natively or are poorly integrated (http sensors, for example).
Although I do not recommend it at all, the integration by IFTTT allows you to integrate in cases where it is necessary to deactivate the alarm or open an intelligent lock with voice commands (since the phrase to execute the order is created by you and you can build it in such a way that only you know it).
You can disable any applet that executes a certain action remotely at any time, via the web or through the IFTTT mobile application (it can be useful at any given time for someone to disable the alarm with a specific phrase at a specific time, and then disable it).
As I say, for each command or action we will have to create an Applet in IFTTT. We will go to My Applets / New Applet / This, choose the Google Assistant service and choose one of the 4 options it offers us:
Say a simple phrase: To pronounce a simple phrase. Example: “Ok Google, turn on the kitchen light”
Say a phrase with a number: Say a phrase with a number. Example: “Ok Google, set the kitchen thermostat to 20 degrees.
Say a phrase with a text ingredient: Pronounce a phrase with a specific text. Example: “Ok Google, tweet the following…”
Say a phrase with both a number and a text ingredient: A combination of the two above.
Then we fill in the available fields, which are the three different ways we can use to give an order to Google Home, the answer you will give us and the language:
Google Home with IFTTT – This
Then, for the “THAT” we choose the “Webhooks” service and fill in the different fields as you can see in the following image:
IFTTT – That
I start at the end: we leave the “Body” field blank, in the “Content Type” field we choose the option that begins with “application”, in “Method” we choose “PUT” and in “URL” we paste the URL provided by the eedomus API to be able to control peripherals through http calls.
To get the URL of the peripheral we want to control, in the eedomus portal we go to the configuration window of the peripheral in question and more specifically to the section “Expert parameters” and click on the key icon next to “API Code” and then enter our eedomus password.
In the window that has been opened, we select the options indicated in the following image to get the URL that we have to copy and paste into the IFTTT “THAT”.
Getting the URL on eedomus
Although it may seem complicated if you’ve never done this before, in reality it’s not and it’s always the same, when you’ve created one or two applets you’ll be able to create 10 in a few minutes.
What about the state return?
With the “native” integration of eedomus into Google Home, you can not only give the Google Virtual Assistant orders, but you can also ask him/her about the status of your peripherals, for example to know if a door is open, to know the temperature of a room, etc.
If you choose IFTTT, you can also get this status feedback, but indirectly, by having eedomus give you the answer through its speech synthesis.
To do this you will need to create another Applet in IFTTT. In this case too, the’THIS’ will be the’Google Assistant’ service, as before, but with the phrase adapted:
IFTTTT status return with Goolge Home
In this case also the “THAT” will be the Webohooks service again, exactly as we have seen before. But instead of the URL pointing to a light peripheral, thermostat, or any other actuator, we’ll make it point to an eedomus voice synthesis peripheral, where we’ll create different values with the text we want eedomus to pronounce by adding labels to read the value of the peripherals we want:
Speech synthesis peripheral in eedomus
This way we can ask Google Home about the status of any eedomus peripheral in one of the 4 languages it understands today.