jbnunn / alexa-myqgarage Goto Github PK
View Code? Open in Web Editor NEWUse your Echo to control your Chamberlain MyQ Garage door
Use your Echo to control your Chamberlain MyQ Garage door
I get this error in the Lambda Management Console. What am I doing wrong?
Is there any way that this can support multiple doors? I'd be happy with it opening/closing both at the same time, but, ideally I can say "Close left garage door, open right garage door"
Updated main.py got this skill working again for me but now when I ask alexa if my door is open and it isn't she says yes your garage door is open. When I ask if it is closed when it is she says no your garage door is open. Any ideas?
Hi, I was able to get everything work great. It worked for months. Recently, perhaps the last 1 to 2 months, it has stopped working. Has something changed?
I think I have followed the instructions to the letter but can't get it to work. Every time I try to give Alexa a command I get "There is a problem with the requested skills response"
I don't know where to look. Any assistance would be appreciated.
i have been playing with this trying to get it working for the last couple weeks. any help would be greatly appreciated. thank you
START RequestId: 2cff6fcb-0644-11e7-b64f-01b9fcbda5a0 Version: $LATEST
'session': KeyError
Traceback (most recent call last):
File "/var/task/main.py", line 24, in lambda_handler
if event['session']['application']['applicationId'] != "amzn1.ask.skill.bbdef27c-0f33-42d1-9a1c-00e7da37ecf9":
KeyError: 'session'
END RequestId: 2cff6fcb-0644-11e7-b64f-01b9fcbda5a0
REPORT RequestId: 2cff6fcb-0644-11e7-b64f-01b9fcbda5a0 Duration: 0.60 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 16 MB
When I list devices on the MyQ API, I don't have one where dev["MyQDeviceTypeName"] == "VGDO"
but I do have one of type "GarageDoorOpener"
, and I was able to get this script to work with that device. I'm assuming this is due to some difference in my hardware setup.
I'm going to submit a PR so the script will support a device with either type. Thanks!
My door shows up as doorState = 1 if closed or opened
AWS Lambda provides a feature called "encryption helpers" that makes it super simple to store secrets encrypted in environment variables, rather than modifying the source to include the unencrypted secrets.
To use this:
I've modified main.py to use encryption helpers and attached it (also changed from print to logging for debug output).
Hi, I apologize up front as I'm not a dev, but I'm trying to follow your instructions on setting up an Alexa Skill. None of the items you posted in the instructions were available, I have a feeling Amazon has changed the UI/steps since you posted the instructions? I'm hoping that's the case since I can't seem to get even close to your instructions. If you have a minute would you mind checking and seeing if they have changed things?
The error states "The file lambda_function.py could not be found. Make sure your handler upholds the format: file-name.method." Any ideas to resolve this?
Cheers.
Has anyone had this problem where Alexa recognizes my command but the garage door doesn't open or close? Some help here please?
I followed all the steps in readme file, tried it twice.
When I test the app in the service simulator with "ask garage door to open", I get an answer from Lambda. But the answer is the default help ("You can open or close your garage door by saying, ask my garage door to open."). The door doesn't open.
When I test the Lambda function, I see the following an error in the log: "session': KeyError
Traceback (most recent call last):
File "/var/task/main.py", line 25, in lambda_handler
if event['session']['application']['applicationId'] != "amzn1.ask.skill.852e5631-63de-42d0-9e1b-8e550f2e25a8":
KeyError: 'session'
(I changed the app ID digit just for privacy. The app ID is copy and pasted from the app ID.
What am I doing wrong?
Jordan.
received following error
START RequestId: 3dc6c294-fc78-11e6-a745-efa006dffcd1 Version: $LATEST
Syntax error in module 'main': expected an indented block (main.py, line 154)
END RequestId: 3dc6c294-fc78-11e6-a745-efa006dffcd1
REPORT RequestId: 3dc6c294-fc78-11e6-a745-efa006dffcd1
hi
Whenever I try to test the skill i get the error "The remote endpoint could not be called, or the response it returned was invalid.".
Any help would be greatly appreciated
I'm attempting to create the LAMBDA function and the blueprint 'Blank Function' isn't an option. I have tried a few others, unfortunately I don't see any option to upload the code.
I'm not sure, but I think maybe the login/host URI might've changed?
This has been working beautifully for the past month, but starting in the last day or two, I'm getting the following:
No JSON object could be decoded: ValueError Traceback (most recent call last): File "/var/task/main.py", line 32, in lambda_handler login() File "/var/task/main.py", line 89, in login response = requests.get(login_uri()).json() File "/var/task/requests/models.py", line 808, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib64/python2.7/json/init.py", line
No JSON object could be decoded: ValueError
Traceback (most recent call last):
File "/var/task/main.py", line 32, in lambda_handler
login()
File "/var/task/main.py", line 89, in login
response = requests.get(login_uri()).json()
File "/var/task/requests/models.py", line 808, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib64/python2.7/json/init.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib64/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
If I'm reading that correctly, it appears I'm not able to log into the myq site? My login info hasn't changed. And, actually, both the site and my phone app still work. Just not Alexa. I've made no other changes to code, other than specified in the directions. Also, the directions only specified <MYQ_LOGIN_USERNAME> and <MYQ_LOGIN_PASSWORD> in main.py, not the additional fields including:
myq_userid
myq_security_token
myq_cached_login_response
myq_device_id
Thank you in advance for any guidance you can provide! I really appreciate the work that was done on this!
An additional step needs to be added for setting up the AWS Lambda function. At least as of Oct 2016 you must select US East (N Virginia) for your AWS region to get the Skills Kit trigger option.
Hey Guys,
I just installed the Chamberlain skill and it works great opening and closing the door. One problem: the skill always reports the door as open regardless of its actual position. (ie. I ask if the garage door is open and it reports yes even though the door is closed. The MyQ app from Chamberlain correctly knows the position so apparently the skill is not picking this up. I created the skill with the latest updates and my garage door is brand new (WD1000WF). Since the open/close commands work correctly. I am thinking maybe Chamberlain changed the door state api?
Any ideas would be very appreciated.
BTW. Thanks all for this skill. It's awesome!
Dave
Friday Harbor, WA
I updated to your latest code but I still get the "There was a problem with the requested skills response" from Alexa.
Looking at Lambda logs I get the following
No JSON object could be decoded: ValueError
Traceback (most recent call last):
File "/var/task/main.py", line 32, in lambda_handler
login()
File "/var/task/main.py", line 95, in login
response = requests.get(login_uri()).json()
File "/var/task/requests/models.py", line 808, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib64/python2.7/json/init.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib64/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Any suggestions whats gone wrong please?
So, I went ahead and created this Skill and it works great through testing. Am I supposed to leave this in development state, just so I can use it? It looks like I need to get it certified and published, however, I have my ID's in the code, so that wouldn't work.
Just wondering where I go after testing. Thanks!
Does anyone know what's wrong here?
In order to get this to work I needed to name the "Handler" to "main.lambda_handler" to match main.py. Hope that helps someone!
This is the Log:
START RequestId: 91599ffe-5c39-11e6-bbdd-5d14577d3be3 Version: $LATEST
'UserId': KeyError
Traceback (most recent call last):
File "/var/task/main.py", line 31, in lambda_handler
login()
File "/var/task/main.py", line 94, in login
myq_userid = response["UserId"]
KeyError: 'UserId'
END RequestId: 91599ffe-5c39-11e6-bbdd-5d14577d3be3
REPORT RequestId: 91599ffe-5c39-11e6-bbdd-5d14577d3be3 Duration: 440.80 ms Billed Duration: 500 ms Memory Size: 128 MB Max Memory Used: 20 MB
This is the Lambada request i'm using:
{
"session": {
"sessionId": "SessionId.dd449f7b-c202-4006-b1a1-0441b6f54942",
"application": {
"applicationId": "amzn1.ask.skill.f82eae7f-3c7f-476f-8ce7-41c7a15fc8f3"
},
"attributes": {},
"user": {
"userId": "amzn1.ask.account.AFP3ZWPOS2BGJR7OWJZ3DHPKMOMJUHMBDZCXQSI4KAQ4MFH25X764YRBSUVLD6Y3RCK5XBUMJJRBJNWHNLG5YORXC35QM7RFVVY5TPPNSRAIE7NURINFZ74MHYLRJEFV3RASWXCHKX7PMZ6OD3GQGDZHO72AV3PJQGWN7VB2XIAHST5DFYRXKJK2J2JIBZ5BY622S7FLG22MXXA"
},
"new": true
},
"request": {
"type": "IntentRequest",
"requestId": "EdwRequestId.d0ff9410-f895-455a-8ab2-903de173bad3",
"locale": "en-US",
"timestamp": "2016-08-06T18:35:57Z",
"intent": {
"name": "StateIntent",
"slots": {
"doorstate": {
"name": "doorstate",
"value": "down"
}
}
}
},
"version": "1.0"
}
Code is attached
In the absence of MyQ having really any desire to release any integrations themselves, I am curious on if there is any desire to make this project "release capable", having worked through it, it would seem the only requirement to making this "user agnostic" is to provide an Alexa app interface for providing credentials...
I am willing to help contribute to this end goal, as it feels like there is much angst by the less technical owners of the MyQ openers.
Getting an error when calling alexa, The SpeechletResponse must not be null
. Followed all instructions. Can't seem to get it working. Want to make sure everything is correct and still working.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.