**As of 8/23/2021, due to MyQ Chamberlain making changes to their login, this procedure does not work. I’ll post back when there is a fix.** (See the orginal post)

If you’ve read and used the previous post on using Alexa with MyQ, you may have noticed the integration with SimpleCommands has broken over the last couple of weeks. This is not the first time that’s happened. There is a fix. Build your own custom skill with Alexa.

This may sound daunting, but I promise, if you can follow directions, you’ll have it up and running in less than an hour. In many cases, less than 30 minutes. Here we go:

1. Download the code (makes things easier).
– Go to https://github.com/spenwall/myq-alexa
– Click the green “Code” button and click Download ZIP.
– Unzip the downloaded file.

2. Go to the Alexa Developer page
– Go to https://developer.amazon.com/alexa/console/ask
– You’ll need to login to your Amazon account. I’m not sure, but you WILL need to register for a developer account as well. It’s free.

3. Create a skill
The link above will take you to the Developer Console page. On this page…
– Click the Create Skill button.
– On the Create a new skill page, enter/select the following…

  • Skill name: Enter a name for your skill. For example, “MyQ Garage Door”.
  • Primary locale: English (US) (this is the default); (if you’re Canadian, change that to English (CA), etc.)
  • Choose a model to add to your skill: Custom (this is the default)
  • Choose a method to host your skill’s backend resources: Alexa-hosted (Node.js) (this is the default)
  • Click the “Create skill” button at the top right of the page.
  • On the next page, Choose the Start From Scratch template (this is the default)

4. Add Interaction Model
At this point, you’ll be on the Custom Skill Builder page.
– On the menu on the left side of the page…

  • Click Invocations > Skill Invocation Name. Under “Skill Invocation Name”, enter “garage door”.
  • Under Interaction Model, Click Intents > JSON Editor.
  • Open the alexa.json file (downloaded in step 1) in Notepad (or your favorite text editor). Select all the text in the file, and hit Copy (Ctrl-C).
  • In the JSON Editor, Select all the text in the editor and hit Paste (Ctrl-V) to replace all the text in the window with the text from alexa.json.
  • You may optionally change the invocation name to something like “garage door” (or whatever you like) by editing line 4 in the window to say…
    “invocationName”: “garage door”,

– Finally, click the “Build Model” button at the top of the page.

5. Add the Code
– Click on the word Code at the top of the page (it’s in the black area at the very top of the page.)

– On the list of files at the left side of the page, double-click on index.js.
– As above, open the downloaded file “index.js” in Notepad, and Copy all the text from the file. (Select all then Ctrl-C.) Then paste the text into the window. (Select all then Ctrl-V.)
– In the window, on lines 8 & 9, enter your email & password for your MyQ account.
– Click the Save button at the top of the page.

– On the list of files at the left side of the page, double-click on package.json.
– As above open the downloaded file “package.json” in Notepad, and Copy all the text from the file. (Select all then Ctrl-C.) Then paste the text into the window. (Select all then Ctrl-V.)
– IF you changed the “invocationName” in step 4, you’ll edit line 2 in the window and paste the same name in. For example, if you changed the invocation name to the following:
“invocationName”: “garage door”,
Then you’ll need to change line 2 to the following:
“name”: “garage-door”,
(Note that it’s the same name, but all spaces are replaced with hyphens.)
– Click the Save button at the top of the page.

6. Deploy
Hit the Deploy button at the top of the page and let it build.

7. Test
– Click on the word Test at the top of the page (it’s in the black area at the very top of the page.)
– Next to “Skill testing is enabled in:”, select “Development”.
– In the “Type of click and hold the mic” button, enter a command like “Ask garage door to open”. (You can also use a mic to say this command.)
– You should hear your garage door open.

This didn’t work at first for me. So I had to do the following…
– Click on the word Code at the top of the page.
– On the list of files at the left side of the page, double-click on index.js.
Change line 28
From…
return result.devices[1].serial_number;
To…
return result.devices[0].serial_number;

Click Save & Deploy again.
– Try step 7 again. It worked for me after doing this.

8. Use it on Alexa
At this point, your skill is attached to your Amazon account. All Alexa devices that are registered to this account automatically have access to this skill. You can say the following commands:
– “Alexa ask garage door to open”
– “Alexa ask garage door to close”
– “Alexa ask garage door status”

You can see your skill by…
– Open the Alexa app.
– Go to Skills & Games
– Click on Your Skills.
– At the top, where it has boxes for Enabled, Updated, etc, scroll the boxes to the left until you see Dev and touch that box.
– You should see your new MyQ Garage Door skill.

Your skill is in Developer mode which means it’s private. It has not been published to the Skills section of Alexa so nobody else can get to it. (Make sure that you do not go into the Distribution section and Distribute your skill. That would enable others to open and close your garage door!

Finally, if you want to create a Routine in Alexa, the actual skill will not be available because it’s in Developer mode.  So for the Action, instead of using a Skill, you’ll need to use a Custom Action and type in “Ask garage door to open”.  It works fine.

I hope this helps.

You can find other tips by going to the blog homepage. You can find iHelp’s main offerings, here.