Round Two: Can Alexa Control my MyQ Garage Door Opener?

**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.


 

Google Play Music Transition to YouTube Music

On July 14, 2020 I received a note from Google they would be phasing out Google Play Music later this year (to be determined) in favor of YouTube Music. They offer a one-click method of transferring your music from Google Play Music (GPM) to YouTube Music (YTM.) Be very careful if you choose to do so.

Google Play Music

I noticed today, in my playlists uploaded from iTunes to GPM many songs were repeated as many as four or five times. Not sure why that happened. There are some Python scripts available online to deal with this, but the easier method, IMO, is to just delete everything uploaded and upload it again. Hopefully, with the new upload it won’t create the duplicates. When you delete your uploaded Library, Google tells you it can take several hours to sync out, so don’t start uploading your music again until you’re sure the old is gone. Easy to verify in a browser.

YouTube Music

This is the problem I’ve encountered with YouTube Music. It’s twofold. One, there is no way to delete an entire Library in YTM at the moment. So all those playlists that transferred from GPM have all the duplicates and Google says the only way to deal with that is one-by-one. Now, that could be a royal pain!

Problem #2. With GPM, there appears to be a time limit on how long even your own uploaded music will play without a subscription. With GPM, I’ve literally had music play all day long. But, as I started deleting my Library today, naturally GPM stopped. So, I switched to YTM. After about an hour, it stopped. I played the next song in the queue figuring it was a hiccup. Nope. After one more song, it quit again.

The moral: Google like all the other services, won’t let you play unlimited music on YTM without paying them. And, if there are errors in the Library, such as multiple dupes in the playlists, there’s no way, including deleting the entire Library like in GPM to deal with it.

Consider yourself cautioned.

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

 

Use Siri Shortcuts to Open, Close or Give You the Status of Your Garage


**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.**

**New info as of 09/01/2021 (go to the bottom)

I’ve always thought Siri was lame compared to Alexa. Siri Shortcuts have totally changed my mind about that. In case you don’t know about Shortcuts they were introduced at the Apple WWDC in 2018 for iOS 12 and above. (I’ve decided I will use iOS to mean both iOS or iPadOS.) Shortcuts automate things and available for many things. The official Apple Shortcuts are referred to as Trusted. Shortcuts from third parties, since they are untested officially by Apple are referred to as Untrusted Shortcuts. Use them at your own risk, but in many cases, using some common sense, Untrusted Shortcuts just make life simpler. The best analogy I can offer is if you’ve ever gone to macscipter.net to get AppleScript help, same difference. On your iPhone, you will have to enable Untrusted Shortcuts. From Settings, go to Shortcuts then enable it here:

I’ve found two different versions of the MyQ garage Shortcuts. The first, you’ll have to input your myliftmaster.com email address, password and name of your device (it’s displayed when you login to myliftmaster.com) on all three Shortcuts, Open, Close & Toggle. But, those Shortcuts also work on Apple Watch whereas, for me, the improved Shortcuts work on the iPhone but not the Apple Watch. The improved ones have one Shortcut where you enter your myliftmaster.com info, then the working Shortcuts, Open, Close, Status & Hub use the info in the Setup Shortcut.

As from the Can Alexa Control my MyQ Garage Door Opener? post, if you use SimpleCommands with a location trigger, you’ll never have to talk to either Siri or Alexa. But, using your iPhone or Apple Watch can be much easier and perhaps more reliable than your Echo device. (I’ve had an Echo Auto since before they were released in the general population and it’s routinely flakey.) Now, you have a choice.

July 15, 2021 Addendum

If you discovered the shortcuts are no longer working as of this date, it’s because MyQ changed the API. Go into the shortcut and change the API text to JVM/G9Nwih5BwKgNCjLxiFUQxQijAebyyg8QUHr7JOrP+tuPb8iHfRHKwTmDzHOu, This will work, and with the newer Automation control in Shortcuts, you can automate this via Geofencing and you don’t need SimpleCommands, Alexa or Google Assistant for it to work.

September 1, 2021 Addendum

There has not been a fix posted as of this date related to the original post and Siri Shortcuts. But there is a workaround with additional capabilities.

The HomeBridge project was designed to provide integration for smart home devices which are not natively supported by HomeKit. This includes MyQ as well as several other popular brands. At the bottom of the linked page, you’ll find installers for a variety of operating systems, including macOS and Windows. Simply click the OS you need. This will take you to a GitHub page with easy to follow instructions. Should take the average person, even someone who may not be all that comfortable with technology, about 10-15 minutes total. One caveat, HomeBridge does need to run as a constant service, so if you have a computer that pretty much runs 24/7, then this is a great solution.

Once installed, you can search for the MyQ plugin or any other plugin which is supported. I added MyQ, TP-Link Kasa and Wyze. Now, a bunch of my devices can be controlled by Siri. Another added benefit, you don’t need to add Shortcuts. Once you have the devices added to Home you can simply say “Hey Siri, open garage” and she will comply (of course, you have to create an open or close scene in Home first.) I haven’t had a chance to test geofencing yet, but from the looks of some of the Automations built in to Home, I’m thinking it should work. If not, I’ll post another Addendum with a work around. Another nice benefit, if you have multiple smart devices in a room you’ve added, you can ask Siri to turn on the room and she’ll start everything in that room!

Good luck! I’m hoping HomeBridge will also solve future MyQ API problems which might crop up. Fingers crossed.

September 4, 2021 Addendum

Just like Siri Shortcuts, if a location trigger in Home is aimed at opening the home, such as what happens with the garage door, the user WILL NEED to confirm that trigger via a notification. So, no, it does not work in Home. But, there is an alternative THAT DOES!

If you’ve installed Homebridge, as outlined in the September 1, 2021 Addendum, you’ll want to add the plugin for a dummy switch. After the install is complete, you can give it any name that makes sense to you when the configuration pops up. That’s all the configuration you will do. Restart Homebridge and the Dummy Switch or whatever name you gave it will appear in the Home app on your Apple device.

Now, for the triggers where you won’t have to confirm anything. You’ll create two automations in the Home app. The first one, is the location trigger, “When Anyone Arrives Home.” Point that to the dummy switch and have it turn on. I set it to turn back off in two minutes, but you can pick any time frame you want. The second automation is the “An Accessory is Controlled” one. For this, you’ll set it up so that when the dummy switch turns on, it activates the garage door opener to an Open position. That’s it! When you get close to your home, the dummy switch turns on and activates the open on the garage.

September 18, 2021 Addendum

You can use SimpleCommands to produce Siri Shortcuts that work. See this.

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


“Hey Siri, I’m being pulled over….”

This can be useful if you are pulled over by the police for ANY reason. You should open the link on your iPhone, then click on the link to the Shortcut. Once you see the Shortcut, scroll to the bottom. (You might have to go into Settings—>Shortcuts—>Allow Untrusted Shortcuts (simply means the Shortcut was not developed by Apple) Once you start the process of installing the Shortcut, you can specify someone you trust to receive the video created. Shortcuts are really fabulous automations. Thank you Apple!
 
The article where it happened:
The actual Shortcut:

MoCA for TiVo Bolt & TiVo Mini

When I purchased my house in 2000, I had it wired for Ethernet. This was long before WiFi became as commonplace as it is today. Because of the structure of the house, the one room the installer wasn’t able to drop a lead to was the living room. This has constantly proven to be the inconvenience I thought it would be. I did an end-run by running a long Ethernet cable from one of the rooms to the living room. It’s a very long cable and only goes to one area there.

A few years ago, I purchased a TiVo Bolt on Amazon. This was after cutting the cord and installing a rooftop antenna. I wanted to be able to DVR TV shows during the regular season since often there are two or more shows in the same time period. Originally, I used a Powerline solution to connect the Bolt to my home network. Worked OK for a while but then it started buffering a lot. Replaced the Powerline with WiFi which worked fine until I added a TiVo Mini to one of the bedrooms. The Bolt worked fine, but frequently the Mini would lose its connection back to the Bolt. And, the Mini was hard-wired via Ethernet.

I thought if I could link the two via Multimedia for Coax Alliance (MoCA) the connection might be more stable. MoCA uses the internal coax wiring to extend the network. Similar to Powerline using the internal electrical wiring to extend a network. Bought a MoCA adapter and set it up at my router. The MoCA light on the device never came on. Returned it to Amazon and bought a TiVo Bridge instead. Same problem. No MoCA connection from where the coax comes into the house. Yes, I used a Point of Entry (POE) filter. It was just a no-go.

In the last week, I thought I’d try again to get MoCA working since the Mini was frequently losing its connection to the Bolt. Still a no-go after a few hours trying. Finally, thought, what if I used a better Powerline adapter to get Ethernet to the Bolt and then used the Bolt’s built-in ability to create a MoCA network. Son-of-a-gun! That worked! The Bolt was now doing Ethernet+MoCA! Now, it was a case of getting the Mini on MoCA as well. Disconnected the Ethernet cable from the Mini and connected the coax cable instead. Went into the settings, changed Network from Ethernet to MoCA. Here’s where the ‘fun’ started.

While the Bolt acted as a bridge, letting the router do all the DHCP, the Mini in fact DID get an IP address from the router. But, when I tried to bring up the Mini’s TiVo guide, I got an error that the Mini could not see the Bolt. Son-of-a-gun. What the heck?

Finally, broke down and called TiVo support.

And, here’s what finally brought it all together: I reset the Mini to factory settings. I disconnected the Bolt from power as well as disconnecting the Mini from power. Then, I rebooted the router. After the router came back up, I reconnected the Bolt to power. When it came up, I turned the MoCA on the Bolt off. Then turned it back on. When asked about the MoCA channel, I accepted the default of channel 15. Then, connected the Bolt to the TiVo service. Twice. After all looked good on the Bolt, again, I plugged the Mini back in. Ran through the guided setup. When it got to the MoCA setup, on the Mini, I again accepted channel 15 as the default. Now, the Mini finally was not only on the MoCA network, but it could also see the Bolt!!

I wasted many hours trying to create the MoCA network with external devices. My thought was splitters installed with the outside antenna were causing a problem. Turns out, they weren’t. I just had made a simple solution, letting the Bolt do the work, much more complex than it needed to be. Now, I can only hope the Mini and the Bolt play well together using MoCA. Time will tell.

Hopefully, this will shorten any time you need to spend troubleshooting.

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