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

Things to TRY if skill is not working!!! #12

Open bklavet opened 7 years ago

bklavet commented 7 years ago

Please don't comment on this. Start a new issue if you have questions. Thanks!

  1. Make sure the receiver is set to allow SHEF to work. "In order to use SHEF in your network, it must be enabled in the set-top box by navigating to the “External Device” settings screen (Menu->System Setup->Whole-Home->External Device) screen. Once on this screen select 'Allow' for 'External Access'' more about SHEF can be found here: http://www.sbcatest.com/TechUpdates/DTV-MD-0359-DIRECTV%20SHEF%20Public%20Beta%20Command%20Set-V1.0.pdf

  2. var wan_IP (in the Index file) needs to be the wan ip of your internet service and not the ip of the receiver. Lambda is not on your local network so it is sending the command through the internet to your receiver. To find this go to google and search "what is my ip" this will show what your wan ip address is.
    Something to consider is if you do not have a static IP (from your internet service provider), the wan ip address can change. This can happen on it's own or if you power cycle your modem. If the skill suddenly stops working. Verify that the wan IP is still the same as the wan ip you put in your index file. If this happens update the index file and upload the updated index file to lambda.

  3. port forwarding 8080! So, this needs to be done in the router, or firewall. each users setup will vary if port 8080 is not forwarded, the skill will fail! To help trouble shoot if port 8080 is forwarded do this: a. Make sure you can control your receiver from within your lan. This allows you to know the receiver is set up to receive commands and can be controlled locally. Do this by finding out what IP your receiver has been assigned (10.0.1.xx, 192.168.0.xx,etc.) using the local IP alter this pause command to match your local IP. pause command http://[local_ip]:8080/remote/processKey?key=pause&hold=keyPress place this command in a browser window of a computer on your local network and hit enter. The directv receiver should pause. next try to pause the receiver from outside your local network. alter the pause command to match your wan ip address. then open a browser and place this command and hit enter. Keep in mind this needs to be on a different network, so.... from a cell phone or friends house. http://[wan_ip]:8080/remote/processKey?key=pause&hold=keyPress if the receiver pauses you have port 8080 forwarded and your ISP is not blocking port 8080.

  4. Minis/mini genies/etc.. a custom slot for mini genie has been added to the github! the voice guide skill also can support minis

The custom slot skill by default will control the receiver that is hooked up to the lan network. Since minis are hooked to the main genie the index file will have to be modified so that the skill will control them. First thing to do Is find out your mini's mac address.
http://[lanIP]:8080/info/getLocations this will show the locations of the receivers on your network. Location 0 is the main Genie. You will be able to see the Mac address of the minis on your network. The friendly name you built into the receiver such as "bed room, living room, etc" should also be displayed to help in knowing which mac is which receiver. add your mac to the custom slot mini genie index file towards the top... you will only need to enter it once mac needs to be all CAPS and no colons example mac &clientAddr=EDGC42F2YY;

LAMBDA FUNCTION CAN"T SELECT lambda_basic_execution. Lambda needs an IAM role to send your function to the DTV receiver.

this is how: To create an IAM role (execution role)

Sign in to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/.

Follow the steps in Creating a Role to Delegate Permissions to an AWS Service in the IAM User Guide to create an IAM role (execution role). As you follow the steps to create a role, note the following:

In Role Name, use a name that is unique within your AWS account (for example, lambda-basic-execution).

In Select Role Type, choose AWS Service Roles, and then choose AWS Lambda. This grants the AWS Lambda service permissions to assume the role.

In Attach Policy, choose AWSLambdaBasicExecutionRole.

icharis commented 6 years ago

Would anyone have an idea why this wouldnt work internally?

http://192.168.1.64:8080/remote/processKey?key=pause&hold=keyPress

Unable to connect

Firefox can’t establish a connection to the server at 192.168.1.64:8080.

The site could be temporarily unavailable or too busy. Try again in a few moments.
If you are unable to load any pages, check your computer’s network connection.
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

Thank you in advance!

bklavet commented 6 years ago

icharis,
could be a couple of reasons why the command may not work.

  1. your receiver is not set up to receive external commands (1) of this thread you commented on. 2.your ip 192.168.1.64 is not the IP to the main genie. 3.you may be trying to control a mini and not the main genie so the MAC needs to be added (4) of this thread you commented on. 4.you may be on a different network than the DTV.
  2. Firefox is stopping it. try Chrome..

The command itself looks correct.

jasands commented 6 years ago

I got it working but it didn't work that well so I went to Wal-Mart and bought Logitech Harmony Hub for 53.00. It was simple and fast and works great.

On Jan 30, 2018 3:55 PM, "jazzii28" notifications@github.com wrote:

i got all the way through the tutorial and went to test the function i created and it keeps giving me an error msg stating: "The remote endpoint could not be called, or the response it returned was invalid." I feel like it could be something so simple to resolve but i just cannot figure it out. please help!

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

vmweaver commented 6 years ago

Wow.. good price on the harmony hub. There are some functions that don't work well through the hub, like guide info or other controls. I have both the skill and harmony hub working and use features of both.

On Thu, Feb 8, 2018 at 2:47 PM, jasands notifications@github.com wrote:

I got it working but it didn't work that well so I went to Wal-Mart and bought Logitech Harmony Hub for 53.00. It was simple and fast and works great.

On Jan 30, 2018 3:55 PM, "jazzii28" notifications@github.com wrote:

i got all the way through the tutorial and went to test the function i created and it keeps giving me an error msg stating: "The remote endpoint could not be called, or the response it returned was invalid." I feel like it could be something so simple to resolve but i just cannot figure it out. please help!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/bklavet/Echo-skill-to-control-Directv/ issues/12#issuecomment-361747524, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah7VbesmR3ynvqwH-Lus_ 92FuJir48mcks5tP4_LgaJpZM4KcMxO

.

— 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/12#issuecomment-364243258, or mute the thread https://github.com/notifications/unsubscribe-auth/ACibPfMeBqSD89EoXs4d_I4HkYq-eaupks5tS11agaJpZM4KcMxO .