Recently, I set up a Raspberry Pi with a few relays and a magnetic switch to control my garage door through Amazon Echo/Alexa. It works quite well, however I found the logic with telling Alexa to ‘turn on my garage door’ or ‘turn off my garage door’, well, a bit…. odd. Not to mention it was driving my wife and kids nuts. I kept giving Alexa migraines also asking her to open or close versus on or off. She kept telling me ‘Garage Door doesn’t support that’.
To solve this, I started doing some research into Alexa Skill Blueprints and AWS/Lambda. This seemed just overly complicated for just altering how Alexa handles voice input. Then I found a reclusive tidbit in a tucked away forum discussing the Alexa app ‘Routine’ function. Here I am going to walk you through how I changed ‘on’ and ‘off’ for my garage, to ‘open’ and ‘close’.
In this post, I am only going over how to alter an already configured Alexa Smart Home device. Another post will cover how I configured a Raspberry Pi and configured it with Python and Alexa to perform these tasks.
Step 1: Open the Alexa app on your device
Step 2: Select the options icon
Step 3: Select ‘Routines’
Step 4: Create a new Routine
Step 5: Select ‘When this happens’
Step 6: We want the Echo to respond to our voice command, so select the Voice icon
Step 7: This is where we enter what the Echo will listen for us to say to activate this routine.
Here we will enter ‘open the garage’, or whatever means you want Echo to perform this task. If you have multiple garage doors, you should identify which door to open. Then select ‘Save’.
Step 8: Add an action – select the ‘Add action’ icon
Step 9: Since we want to control a Smart Home device, select ‘Smart Home’.
Step 10: Select the appropriate smart device. In my case, it is ‘Garage Door’.
Step 11: Now we select what the Echo does with the selected smart device. If we touch the lit up icon, it will switch to off. In this case, we want to open the garage which means we want to turn it on. Select ‘Next’ to turn on the device.
Step 12: Verify that the apps reads Alexa will turn on the smart device, then select ‘Add’.
Step 13: We could potentially add additional actions the Echo will take when this is said. For instance, we could also turn on or off lights. In this case, I just want to open the garage so I’m not adding any additional tasks. Select ‘Create’ to continue.
At this point, we are done with the first task of being able to speak intelligently to the Echo in what we want to accomplish. We now have a new routine called ‘Alexa, open the garage’.
Now, we need to essentially repeat these tasks for having the Echo recognize ‘close the garage’.
Step 14: Create another ‘Routine’ by selecting the ‘+’ icon:
Step 15: Just like before, we are going to select ‘When this happens’:
Step 16: In the ‘When you say….’ section, type ‘close the garage’ or however you want Alexa to listen.
Step 17: Add an action for ‘close the garage’
Step 18: Select Smart Home again…
Step 19: Select your smart device, ‘Garage Door’ for me again:
Step 20: This is where we change the task from turning ‘on’ the garage, to turning ‘off’ the garage. Simply select the glowing icon in the middle to select ‘off’, then select ‘Next’.
Step 21: Select ‘Add’ to complete the routine action:
Step 22: After verifying your selections, select ‘Create’
You should show two routines now. According to the app, it may take up to a minute before you can test the voice command on the Echo. I tried a few seconds later and it worked for me.
Now, you can tell the Echo to ‘open’ or ‘close’ the garage instead of turning it ‘on’ or ‘off’.