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

Genie2 - Cannot make final step work... everything leading up to it is confirmed #72

Open Ernster93 opened 6 years ago

Ernster93 commented 6 years ago

Hi... I have the latest Genie version, the Genie2, with 3 minis. I use the Custom Slot Skill for Mini Genie and utilize the MAC codes on line 12 for the index as well as enter my correct wan_ip on line 8. Everything seems to work fine all the way up to the test step. At the test step, I get the the following result: The remote endpoint could not be called, or the response it returned was invalid. I even tested the pause and hold URL you provided for each of my minis and they do freeze at when I click confirm. My settings are set for allow external devices and I have reviewed everything you have listed under https://github.com/bklavet/Echo-skill-to-control-Directv/issues/11. I did have to create a new Lambda, but I'm confident I was able to manage through that correctly. Help!

vmweaver commented 6 years ago

Did you have a look at https://github.com/bklavet/Echo-skill-to-control-Directv/issues/12 ? Please make sure you can do the last part of step 3 with your WAN ip. Did you test the PAUSE functions with your local ip address? This will confirm your port forwarding is working fine on your external (internet) address.

Ernster93 commented 6 years ago

This could be where I am having my problem. I can use the pause command with the local IP using 8080, but seem to be having trouble when I take my cell phone, walk down the street away from my WiFi and try to use the WAN IP, nothing really happens. After a couple of minutes, I get timed out. I notice the last line of step 3 essentially mentions that in this case my ISP is blocking my firewall. How do I get that fixed? I found a website, https://itstillworks.com/unblock-port-8629973.html, which tells me how to unblock a port, but when I get to the "Allow apps to communicate through Windows Defender Firewall", a number of "Allowed apps and features" are listed. I'm not sure which one to pick. I don't have DirecTV listed there. Am I doing the right thing?

bklavet commented 6 years ago

Hello Ernster, I don't think this would be a windows defender thing. There is a router/ modem that needs to have port 8080 forwarded. Check your modem/ router settings and see if you have any luck. You are correct this looks like a port forwarding problem.

vmweaver commented 6 years ago

Agreed. Who is your service provider and what model of router do you have? As an FYI, all you need to do is disable WIFI on you phone, unless you need the exercise. ;-)

Ernster93 commented 6 years ago

Optimum is the service provider and Arris TM822 is the modem. I can log onto my stuff at router.optimum.net webpage and I find Port Forwarding under the Advanced Settings, but it only seems to allow me to set up Port Forwarding with the Local Host and not the WAN ID. Might I have to call Optimum to see if they can help me? I just don't understand how to either "unblock" an ISP or navigate through the Port Forwarding site to allow me to utilize the WAN ID.

vmweaver commented 6 years ago

Can you possibly attach a screen shot of the port forwarding user interface?

vmweaver commented 6 years ago

Thanks. Looks good, but you shouldn't need port triggering at all, so I would remover that configuration. Is there any place in the router configuration that shows what your internet port ip address is and how does that compare to the address that Google gives you if you search for "what's my ip"?

vmweaver commented 6 years ago

Did you remove the port triggering config? And did you put the DTV address in the dmz config? If so, please remove that too. Just need the port forwarding rule in place.

Also to confirm that going to http://192.168.1.18:8080/tv/getTuned returns info about the current show?

Ernster93 commented 6 years ago

yes

vmweaver commented 6 years ago

Okay, so you just have the port forwarding set up? No triggering or dmz? Do you have a screen to configure firewall rules also? Some routers do and some dont. If so, can you attach a screenshot of that?

bklavet commented 6 years ago

Port 80 & 8080 Blocking Because Port 80 and 8080 are often used by malicious software, including viruses and worms, Optimum, like many ISPs (Internet Service Providers), blocks this port for all standard Optimum customers.

Activating Port 80 & 8080 If you subscribe to Business Optimum 50*/60 service and above and would like to utilize Port 80 and/or 8080, you'll need to activate them. Please note that you will need to be on a computer that is connected through the same modem associated with your Optimum Business service account. Simply follow these steps:

Go to https://www.optimum.com/business. Sign in with your Optimum ID and password Hover your mouse over Internet and click Network Configuration Under Port Configuration, click on Settings Under Port 80 or 8080, click On to enable Click Submit Unplug your modem's power and plug it back in. You will need to reboot your modem for the changes to take effect.

Note: If you swap your modem, you may need to re-enable Ports 80 and 8080 for your new modem.

When using Port 80 and/or 8080 to host your own website, please be diligent by keeping your web server up to date with the latest security patches.

vmweaver commented 6 years ago

Ah, so .18 doesn't seem to be your DTV receiver(?). Change your port forwarder to use 192.168.1.21 and see if that works.

bklavet commented 6 years ago

my guess is that optimum is blocking port 8080, so you could talk to them and see if the will unblock, or get a pi and go with mawrew19's security option.

vmweaver commented 6 years ago

Good catch. You should be able to change your port forwarding rule to use port 3000 on the service and then uncheck the box for using the same internal port and change that to be 8080.

bklavet commented 6 years ago

http://192.168.1.21:8080/tv/getTuned

the receiver needs to be turned on to a channel

Ernster93 commented 6 years ago

I have all 3 TVs turned on at the moment... although as I said, when I use the getTuned web address you mention above, I get Internal Server Error, etc.

vmweaver commented 6 years ago

No worries, this is likely just because you have all remotes. I would stick with /info/getLocations to test. I think bklavett is right, though, on your isp blocking 8080. Can u try the 3000 port I mentioned?

vmweaver commented 6 years ago

Can you change your host to be 192.168.1.21 on the port forward? Is that the lan ip address of dtv? What device has .21 versus .18?

Ernster93 commented 6 years ago

I just can't get it to work using the WAN IP.

vmweaver commented 6 years ago

Interesting. ..I had not seen this setup before, but it makes sense. Is your port forwarder currently set to the .21 address? If not, please set that.

Ah... I see it now. Go to http://69.122.xxx.yyy:3000/info/getLocations Replace xxx.yyy with the last 2 octets of your actual external address.

In your index file for the lambda service, replace 8080 with 3000 for the port.

Ernster93 commented 6 years ago

I updated the Port Forwarder now to the HS17 using the .21 address... trying to pause using the WAN ID on my phone (using data) so I'm not on my WiFi at all... still no luck.

vmweaver commented 6 years ago

I am going to try pause on you tv. Ok?

Ernster93 commented 6 years ago

OK... let me know when you do... I assume you are going to try the Living Room TV.

vmweaver commented 6 years ago

Yep.. 1 sec

Ernster93 commented 6 years ago

You did.

vmweaver commented 6 years ago

Paused?

vmweaver commented 6 years ago

http://69.122.xxx.yyy:3000/remote/processKey?key=pause&hold=keyPress&clientAddr=2832C5EDDD6A

Ernster93 commented 6 years ago

Ah... 3000.. OK

vmweaver commented 6 years ago

Now we should remove the a dresses from comments. Lol

Ernster93 commented 6 years ago

So... I should be good to go now?

Ernster93 commented 6 years ago

I see it works on my phone too.

vmweaver commented 6 years ago

See my previous comet about index file update to use port 3000.

Should be once you update lambda.

Ernster93 commented 6 years ago

Oh geez... now I'm nervous again.

Ernster93 commented 6 years ago

Remind me... which comment are you referring to about index file update and what do I do about Lambda?

Ernster93 commented 6 years ago

On the index file, wherever it says 8080, do I just change it to say 3000?

vmweaver commented 6 years ago

Ok. So the index file has your WAN ip in it and the appid and the mac address of you genie remote. There is also a port defibed in it. Change the port from 8080 to be 3000.

Then you will zip this file up with the AlexaSkill file. Then login to the amazon developer site for lambda and upload it to the DTV lambda function you setup.

May be easier to walk though bklavett 's tutorial again.

vmweaver commented 6 years ago

Yep.. change to 3000.

Ernster93 commented 6 years ago

I will try... made the change to 3000 on the index file. I will start from scratch, but believe me, I don't need to see the tutorial again... I've seen it 100 times already! LOL :-)

vmweaver commented 6 years ago

Lol... awesome. Good luck. I am heading to bed.

Ernster93 commented 6 years ago

Thanks for all your help! Really and truly I appreciate it! I hope it works.... will try and let you know... I want to head to bed very soon too!

Ernster93 commented 6 years ago

Grr! I got it to work in the test late last night, but it wasn't working when I asked Alexa at all. Therefore, I wanted to start over anyway this morning.. and start with my Kitchen TV. I deleted the "living room" skill from the Developer Console as well as all Lambda Functions related to that skill. I haven't changed anything in the Port Forwarding (still 3000 to 8080), but I did want to update the Index and the custom slot values to include more stations along with their associated channels. I made sure that every channel I included on the index was also included on the custom slot values, although I didn't necessarily enter every channel in the exact same order in the index as on the values tab (I didn't think it mattered). Now, after enter all the new data, I'm once again getting error message when I try to run the test. Again, I have no problem pausing any of my TVs with the 192.168.1.21 number along with the MAC addresses, but when I try to enter the WAN_IP to pause the screen, it now comes back with a 403 error. Although I may not be at the desk here for a while waiting for your reply... I meekly request 'help' again if you can.

vmweaver commented 6 years ago

I see that your system is still publicly exposed, but doing a /info/getLocations onlly shows your "server"/Tower. Can I try pausing one of your TVs (living room)?

Can you zip up your Index file, your required additions to the channels and email me? geekweaver (at) gmail.com Would like to take a look and see what is going on.

On Mon, Jan 29, 2018 at 2:49 PM, Ernest Rebak notifications@github.com wrote:

Grr! I got it to work in the test late last night, but it wasn't working when I asked Alexa at all. Therefore, I wanted to start over anyway this morning.. and start with my Kitchen TV. I deleted the "living room" skill from the Developer Console as well as all Lambda Functions related to that skill. I haven't changed anything in the Port Forwarding (still 3000 to 8080), but I did want to update the Index and the custom slot values to include more stations along with their associated channels. I made sure that every channel I included on the index was also included on the custom slot values, although I didn't necessarily enter every channel in the exact same order in the index as on the values tab (I didn't think it mattered). Now, after enter all the new data, I'm once again getting error message when I try to run the test. Again, I have no problem pausing any of my TVs with the 192.168.1.21 number along with the MAC addresses, but when I try to enter the WAN_IP to pause the screen, it now comes back with a 403 error. Although I may not be at the desk here for a while waiting for your reply... I meekly request 'help' again if you can.

— 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/72#issuecomment-361381646, or mute the thread https://github.com/notifications/unsubscribe-auth/ACibPfpQVXiNPaNrPwsDUfLjG3BqklY8ks5tPi7vgaJpZM4RvzuI .

Ernster93 commented 6 years ago

Hi... sorry it's taken awhile... had to be away from the home. Just sent e-mail as you requested. At the moment, I have Living Room TV on for you. I may not necessarily be sitting here every second (and I don't expect you to either). Thanks for helping at your own pace.

Ernster93 commented 6 years ago

yes... I just replied to that private message... now I'm seeing this one

Ernster93 commented 6 years ago

you did the pause thing somehow

vmweaver commented 6 years ago

Yes... I did.. :-) Remember that since we have a special port forwarder rule in place you will ALWAYS use port 3000 when using your WAN address and always use port 8080 when using your internal address.

Ernster93 commented 6 years ago

yep.... just replied via e-mail. I got it to work. I think talking via this method is better... but sharing as much private info as possible is better via e-mail, no?

Ernster93 commented 6 years ago

The thing I got to work was the pause function... just to be clear.

Ernster93 commented 6 years ago

So... with the change to the var dtv_Mac line in the index file to now read with the "?", should I try and create a new Alexa Skill and Lambda function to see if I can get everything to test correctly now... or since I added channels and such, do you want to see my custom slot values and index page first?

vmweaver commented 6 years ago

Sorry.. in one of my private messages I mentioned to leave it as is.. that I was wrong in my assessment. So very sorry. Let me review your index and custom slot stuff real quick.
So.. please leave the "&clientAddr"