Tag Archives: voice commands

Voice Commands and Importance of Naming Rooms with Home Automation Systems

A year ago, in May 2019, I started a simple journey to implement some automation for my new apartment. For some overview, you can read from this post. In my set up, I have connected up devices from different systems. The three main systems I have are:-

  • Homey – the smart controller that integrates with my lights, blinds, doors, TV and Sound System.
  • Google Home – where Google Assistant is the primary voice control.
  • Mi Home – that I use with over 10 remote controlled AC power plugs, and a couple of bedside lamps.
  • Ambi Climate – I have 5 units of Ambi Climate v2 to control the air con units in each of the rooms.

The challenge was trying to integrate these 4 systems together. While I prefer Homey to be at the core of everything, where every device I want to be automated can be done by Homey, it is not the case. For example, there was no integration between Homey, Mi Home and Ambi Climate. [Update 13 June 2020: Switching Ambi Climate to Homey] On the other hand Google Home can integrate with everything. However it does not recognise all types of devices I have. For example, when I first set up in 2019, Google Home did not recognise the blinds. Hence I could not use voice control to perform any actions with the blinds.

Back to the point about integration between these systems. There are times where controlling groups of devices by room are useful, e.g. switching off everything in the bedroom. You can simply issue a voice command to “switch off the room”. Since it is Google Home that receives the command, it needs to know what devices are in that room. Since my lights do not have direct integration with Google Home, it then depends on the groupings presented by Homey and Mi Home.

Overview of the automation setup and the integrations

Here is the first crucial part, naming the rooms across the systems. In Google Home and Mi Home, you would create a Home with Rooms. In Homey, the construct is a Home with Zones. Rooms and Zones essentially mean the same thing here, and you want to create the Rooms/Zone consistently across all your systems. To avoid any risk of discrepancies, I recommend to name them exactly the same, even the spaces and cases must match. For example, Living Room, must be spelled exactly the same way, with the capital letter for every first letter and the space in between. No extra characters before and after. With this, when you connect the systems together, the devices grouped within each Room will fall nicely in place.

The next confusion comes, Ambi Climate. When setting up the device, there is a field to provide the Room Name. I found out the hard way, that this does not match a Room in Google Home. It actually translates to a Device Name instead. Initially I setup the Ambi Climate for the living room as Living Room. When I linked Ambi Climate to Google Home, it was straight forward. However, as I issued the voice command to “switch on the aircon“, Ambi Climate (at that time) did not know what device it was. I couldn’t issue the command using the Room name as well, because it would end up switching on/off everything else in the room. That’s when I realised, the Room Name in Ambi Climate, actually maps to Device Name.

The work around I did was to rename all the Ambi Climate devices. I just added “AC” to the back of each Room Name. For example Living Room would become Living Room AC. With that done, I could issue voice commands and call out Living Room AC. That worked really well.

Few months later, Google Home, had an update and gained room awareness. What that means is that I no longer have to call out specific device names in the voice command. Furthermore Google Home would recognise common devices like lights, fan, air con, and coupled with the room awareness, I can issue generic commands like “switch on the lights”, and the Google Home will only work on all the lights associated in the room the command was issued.

At this point, you may wonder, how would Google Home know which room I’ve issued the command from. It’s a simple answer, I have a Google Mini in every room, and a Google Home Hub Max in the Living room. Each device is also associated with the room it is located in. So in each room, I can issue the exact same generic voice command, but the action is localised within the room. Neat!

Wrapping up…

This goes back to the original point to name the Rooms and Zones identically. As there are cross system integrations, the devices within the same room are therefore automatically grouped together.

Think hard on how you want to name the rooms right at the start. As you can imagine, if you have different systems, and you want to rename a room, you will have to do it across all systems. Some may allow a simple rename, some may need you to create a new room and move devices across. While this is the easy part, if you rename a zone in Homey, it may not automatically get picked up by Google Home. Sometimes it just take some time to be refreshed, other times you may need to completely disconnect both system and re-link them again.

You would want to avoid renaming. Plan ahead and name them meaningfully right from the start.