bklavet / Echo-skill-to-control-Directv

amazon echo skill that will control a networked Directv Receiver so that users can control Directv with their voice
18 stars 67 forks source link

Issue with #18

Closed robertmfirvin closed 6 years ago

robertmfirvin commented 7 years ago

I have the same issues as the pervious people. I am able to control the directv box from both my local ip and not my wan ip. When I test from the Alexa developer portal, I get the endpoint error. When I test from Lamba, I get an error that it can't load a var/use/index file. I have set it up 3 times but still can't get it to work. Please help as well

bklavet commented 7 years ago

What are you entering in lambda to test?

robertmfirvin commented 7 years ago

I test Hello World and this is my response. What can I do? { "errorMessage": "Cannot read property 'application' of undefined", "errorType": "TypeError", "stackTrace": [ "AlexaSkill.execute (/var/task/AlexaSkill:72:62)", "exports.handler (/var/task/index:351:20)" ]

bklavet commented 7 years ago

Try testing a slot value from the developer portal. Like CNN, two oh two.

robertmfirvin commented 7 years ago

Here are the results from the Developer portal.

Lambda Response "The remote endpoint could not be called, or the response it returned was invalid. "

Lambda Request

"user": { "userId": "amzn1.ask.account.AEXDWMC3SGJCD7RAQGGRWWRKOP4MVRKYIICM4LJDULMKUY7QYTTS5SXVO7QV7LBJV67JPD4T32WZPYU35ZYTP5BFOLJVJ4P3YSC5PBGXELVHHZD37EGA7T4VDVHQ2V35A5HETFUTYHZ5OAXOP4YQLUHLQGUAMOHG5GOJWZI7QVTIQ4VZGKK26HJTRZG6OYUL7JJSURIFKBIN4AQ" }, "new": true }, "request": { "type": "IntentRequest", "requestId": "EdwRequestId.55516a17-5ad0-44c0-ab39-2beda5fad941", "locale": "en-US", "timestamp": "2016-12-11T03:36:20Z", "intent": { "name": "DirectvIntent", "slots": { "Control": { "name": "Control", "value": "CNN" }, "Channel": { "name": "Channel" } } } }, "version": "1.0" }

bklavet commented 7 years ago

So that lambda request looks right, it could be copied and pasted in the was lambda site as a test for the function you made. If it doesn't pass on the lambda site, verify that the index file has your current wan ip, and that the skill app id is correct.

robertmfirvin commented 7 years ago

This is the response. I had increased the time out to see if anything would happen differently. I am in the process of checking wan ip and skill ap id.

"errorMessage": "2016-12-11T03:55:22.452Z 987d1c13-bf55-11e6-82d8-e9a669cfc342 Task timed out after 19.00 seconds"

bklavet commented 7 years ago

K, you uploaded a zip file with the Alexa skill, and index file. I have a short video on youtube showing the process for setting up a lambda function, https://youtu.be/Ukv1-1xttEk

SamsonHoward commented 7 years ago

Hi, bklavet.

First, thank you so much for your easy-to-follow guide. Forgive me for my ignorance; I'm a beginner.

I can't get a successful test in the service simulator. Here's what I know. 1) canyouseeme.org says that I have a successful open port to Port 8080. My router is a UVerse Motorola NVG589. I opened Port 8080 to my "DIRECTV-HR54-Cxxxxxx" device. 2) I can control both my main and Genie mini from entries into my web browser from both my local IP and my WAN IP.

When I test my Service Simulator, I get "The remote endpoint could not be called, or the response it returned was invalid."

Any tips?

bklavet commented 7 years ago

SamsonHoward, Happy New Year,
Being able to control your receiver from outside your local network is great. can you paste what the service simulator is sending to lambda? You can also paste that directly into the lambda function as a test event and see what it gives you.

SamsonHoward commented 7 years ago

The above is my intent to do a "pause" test. If I copy the above and put it into JSON, I get the same response:

"The remote endpoint could not be called, or the response it returned was invalid."

Like I said, I can use my cell phone on cellular service and control both the main and Genie mini from the browser.

bklavet commented 7 years ago

the problem is probably in the lambda function. double check that the ip is the wan IP and that you have the correct app id placed in the index file and the it is a zipped file with the alexa file.

SamsonHoward commented 7 years ago

Got it working. Thanks for your help. The issue was that I was using the built-in OS X archive utility in my Mac to make the zip file. Apparently, when OS X creates a zip file, it also adds two small hidden files that it thinks are necessary. These files apparently conflict in Lambda.

I started over on a Windows machine, and it all works wonderfully.

Thanks so much.

vmweaver commented 7 years ago

Great find and update! I am sure this will help others out!

On Mon, Jan 2, 2017 at 8:39 AM, SamsonHoward notifications@github.com wrote:

Got it working. Thanks for your help. The issue was that I was using the built-in OS X archive utility in my Mac to make the zip file. Apparently, when OS X creates a zip file, it also adds two small hidden files that it thinks are necessary. These files apparently conflict in Lambda.

I started over on a Windows machine, and it all works wonderfully.

Thanks so much.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bklavet/Echo-skill-to-control-Directv/issues/18#issuecomment-269980662, or mute the thread https://github.com/notifications/unsubscribe-auth/ACibPTk8z5xQFiwtrJEClWIlS_0fsnydks5rOQw_gaJpZM4LHZgY .