myQ

Will there be an update from SimpleCommands for myQ? My account will no longer “link”. Hopefully so! 😀
12

Comments

330 comments
  • That Amazon Lambda function looks useful.  (I use AWS but didn’t realize that someone had built this.)  Have you tried it?  Does it actually work?  I’m curious if whatever MyQ did to disable SC also broke this this package. 

    0
  • Oh yeah, works well! That was my first solution before I learned about SimpleCommands. Got annoyed with “Alexa, ask my garage door to open” vs “Alexa, open the garage.” But at this point, beggars can’t be choosers. :)

    0
  • Great!  I’ll try it out!  Thanks for posting about it.

    0
  • Actually, you can use an Alexa routine to trigger the custom skill, too! I just set up “open the garage” to do a custom command “ask my garage door to open” and it works like a champ! Woot!

    Also going to look into https://github.com/spenwall/myq-alexa which doesn’t require Lambda.

    0
  • That’s really interesting - looks like an easier way to go than a Lambda function.  I looked through the code in index.js, it looks like opening (or closing or whatever) the garage door takes 2 lines of code - login to the MyQ API, and set the door state to open (or whatever).  That makes me believe (of course, I could be wrong) that the MyQ API is blocking calls from SC.  Whether they’re blocking SC’s IP addresses to their API, or they’re metering by IP and only allowing a certain number of calls from any particular address (which would be quickly exceeded if you make calls on behalf of many users, like SC does), or whatever. But SC is using the MyQ API, just like this code does.  If it works for you and me, but it doesn’t work for SC, then it would *seem* that they’re being blocked.  That *suggests* that it’s not likely that we’ll be using SC for MyQ anytime soon.

    0
  • I am going to look into the other solutions posted here in the last few posts.  On the frustration with MyQ not integrating with Alexa, I do think it is a matter of liability for MyQ.  I honestly do not think they want the ability to "open the garage door" with voice.  There is a reason why IFTTT only has the "trigger close garage door" and not open.  It's the only thing I can think of.

    In terms of SC actually having approval from MyQ to interface, I always suspected it was a backdoor hack and the frequency in which the authorization link is broken speaks volumes.  MyQ does everything it can to block SC.  SC gets around it for a while and then back to the drawing board.  SC is clearly not a long term solution.

     

    0
  • Just ordered the Tailwind.  Time to remove the MyQ device from my garage, delete the MyQ app and delete Simple Commands.  It's just too frustrating.  No more third party back door hacks into Alexa which is not natively supported by MyQ.  Tailwind looks pretty powerful and supports Alexa, Siri, Google Home right out of the box.

    Good luck to you all.  I hope SC hacks in soon or maybe even weights in but from history, that is not going to happen.

    0
  • Just wanted to mention that I used the package here https://github.com/spenwall/myq-alexa to setup an Alexa skill for my garage door.  It was very simple, free, and works perfectly.  This removes any need for the MyQ connector in SC (at least for me).

    0
  • I looked into this but for the life of me, I can't see "Start a skill" or "Create a Skill".  I was in an endless loop of content with no actions.  I am signed into Alexa/Amazon.

    0
  • I tried to use the Create a Skill steps, and got almost all the way through until the point at which it you get to Step 4....I have no clue how  you change the index.js and the package.js from the "repository". If they are referring to the zip file that is downloaded to begin the steps....It keeps barking at me that there is no Lamda Folder in the zip file. That step in the process is very vague. I gave up and figured I would come here to get an explanation. Maybe someone can make a YouTube video showing everything "step by step"...Not everyone here is a GitHub and Coding Wizard... :) 


    0
  • Zook33....Go to this link, and choose "Console" on the far right....You may have to complete your profile setup first...but when you're in the Console, there is a big blue button "Create Skill"

    https://developer.amazon.com/en-US/alexa/alexa-skills-kit

    0
  • Thanks SwiftyRox, I did that and was able to Create Skill.  Thanks for this.  However, these GitHub instructions are poor and I have lost my patience.  Errors in the json file.  I am not a developer, but I technical and can follow instructions, these suck.

    0
  • Yeah, the instructions on that package make some assumptions.  Hopefully, these are a little clearer.  It's a little long, but it's spelled out step by step...

    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 MAY need to register for a developer account as well. (I already had one, so I'm not sure if you need to or not.)

    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)
    • 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.

    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".
    • 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.

    - 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 Code at the 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;
    - 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 (even if it was a bit long).

     

     

     

     

    3
  • Zook33....I had the same issues...the instructions aren't very clear in every step, and so I threw in the towel as well. I'm pretty good at figuring stuff out, but if the directions are a little wonky or vague, I run out of patience myself....That's why I asked if someone who WAS successful couldn't do a YouTube video showing each step verbatim...

    0
  • I am stuck here:

     

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

     

    Did you mean line 2?  I can't find this line to edit?

    1
  • That's correct.  Line 2 of package.json says the following
        "name": "my-garage",

    If you changed the invocation name in step 4 to "garage door", then you'll want to change line 2 of package.json to:
        "name": "garage-door",

    You can either change that line in Notepad, then copy/paste it into the Code page on the Developer Console.  Or you can change it directly in the Code page after you've copy/pasted it in.

    If you didn't change the name in step 4, then just leave that line alone.  (And your Alexa command would be:  "Alexa, ask My Garage to open".)  My preference was "Alexa, ask Garage Door to open".  I also wanted to provide an example on how to change the name.

     

    1
  • Zook33....the line 2 is in the "package.json" tab.....You change that to "garage-door" or whatever you optionally changed the invocation name in the final instruction of (4) Interaction Model....I did make the change...so I had to update the package.json line 2...You must also use a hyphen between the two words....he said spaces are replaced with a hyphen....

    {
    "name": "garage-door", 
    "version": "1.0.0",
    "description": "MyQ garage door opener for alexa",
    "main": "index.js",
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "Amazon Alexa",
    "license": "Apache License",
    "dependencies": {
    "ask-sdk-core": "^2.7.0",
    "ask-sdk-model": "^1.19.0",
    "aws-sdk": "^2.326.0",
    "myq-api": "^2.0"
    }
    }

    Salam...You are the man!! It worked for me....The garage is now opening and closing!!

     

    1
  • Thanks guys, I discovered what I did wrong, bad cut and paste.  I think I have both files with the right name, but it is not working for me.  Does it take a while to deploy?  It says I will get a notification when done but I have not.  When I click deploy again is says failed because I could have one already running?

    0
  • Did you try the follow up steps he gave when he said it didn't work for him? Also...he made one mistake...he said after "Deploy" then you choose "Code" at the top, but that was wrong...hit "Test" and then follow the steps to

    7. Test
    - Click on the word Code at the 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. 

    1
  • I keep getting a fail to deploy because another instance may be running.  Frustrating as I think I am close.  I also can't seem to Test.  It returns "Sorry, You can't send announcements from this device yet."  I assume because it is a Windows machine?  I can see the new skill in the Alexa app on my phone.

    I feel like I can get my fixes to deploy.  Any ideas?

     

    0
  • This is so frustrating. I appreciate all of you with some technical know-how that are trying to help! Thank you all!

    0
  • Salam...I have one question. I setup a MyQ configuration at a friend's house to use SC for two separate garage doors. So (1) MyQ, and (2) Sensors....How do you write this skill to control those doors independently? Do you create a skill for each door? For example...Bay 1 and Bay 2?

    1
  • Are you guys doing this stuff on a mobile device or a desktop?

    0
  • Zook....go into your custom skills in the console...delete everything there and start all over...just go back to a clean slate....in your console, you'll see the instance you have and just take it down to "nil"....that's what did when I first couldn't figure it out...

    0
  • Tooch....All of the coding/programming is done on the desktop. I setup the routines on my phone once it was working. I have 3 now.

    1 for a simple "open" with a few extra added features (For when I get close to the house)

    1 for a simple "close" with a few extra added features  (For when I am in the garage after arriving)

    1 for when I'm "leaving" the house, and a bunch of stuff happens including "opening" the garage door

    0
  • Anyone have any Google Assistant love?

    0
  • YESSSSSS!  Thank you SO MUCH Salam and SwiftRox!

    2
  • Zook33… Glad it worked!

    0
  • Swiftyrox… The code in this is only setup for a single door.  If I had two doors, I’d probably setup two skills - one for “garage door left”, and one for “garage door right” (or however you want to name them).  You’d need to change line 28 (see step 7) on the left one to:
        return result.devices[0].serial_number;

    and the right one to:
        return result.devices[1].serial_number;

    (or maybe the reverse of that).

    Or if you have a little coding ability, you can change the json and js files to accept different “intents”, like “a open left” and “open right” (or whatever).  That way you could say “Alexa, ask garage door to open left”. It would actually be pretty easy to do.  (Although I only have one wide door, so I can’t really test it.)

    1
  • I got 1 of 3 MyQ doors working using Salam's instructions above and by PURE LUCK it was the one I wanted to open!!! I made 3 skills (1 skill for each garage door) with slightly different names.

    The first 2 skills did not work, even when I changed "1" to "0" on line 28 (using "0" for the first skill and "1" for the second). On the third skill that I made, I used a "2" in that spot and it opened that door! I have no idea if I could have simply created 1 single skill and used "2" in that spot or not. I'm curious if I put "3" and "4" on the other 2 skills if they will work with Alexa (even though the names of my garages in the MyQ app are 1, 2, and 3) but don't care about having those voice operated so am leaving well enough alone. 

    I wasn't happy with the phrase/name that I set up for the Skill, so I followed the instructions from Salam to create a Routine with a "Custom Action" and so now when I say "open garage" (just like I used to with SC), it does just that (also, same with "close garage"). I'm so happy. Thank you Salam and SwiftyRox!!

    0

Please sign in to leave a comment.

Didn't find what you were looking for?

New post