Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Ernster93 opened this issue Jan 28, 2018 · 61 comments

Comments

@Ernster93
Copy link

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 #11. I did have to create a new Lambda, but I'm confident I was able to manage through that correctly. Help!

@vmweaver
Copy link
Collaborator

vmweaver commented Jan 28, 2018

Did you have a look at #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
Copy link
Author

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
Copy link
Owner

bklavet commented Jan 29, 2018

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
Copy link
Collaborator

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
Copy link
Author

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
Copy link
Collaborator

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

@vmweaver
Copy link
Collaborator

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
Copy link
Collaborator

vmweaver commented Jan 29, 2018

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
Copy link
Author

yes

@vmweaver
Copy link
Collaborator

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
Copy link
Owner

bklavet commented Jan 29, 2018

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
Copy link
Collaborator

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
Copy link
Owner

bklavet commented Jan 29, 2018

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
Copy link
Collaborator

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
Copy link
Owner

bklavet commented Jan 29, 2018

http://192.168.1.21:8080/tv/getTuned

the receiver needs to be turned on to a channel

@Ernster93
Copy link
Author

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
Copy link
Collaborator

vmweaver commented Jan 29, 2018

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
Copy link
Collaborator

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
Copy link
Author

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

@vmweaver
Copy link
Collaborator

vmweaver commented Jan 29, 2018

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
Copy link
Author

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
Copy link
Collaborator

vmweaver commented Jan 29, 2018

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

@Ernster93
Copy link
Author

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

@vmweaver
Copy link
Collaborator

Yep.. 1 sec

@Ernster93
Copy link
Author

You did.

@vmweaver
Copy link
Collaborator

Paused?

@vmweaver
Copy link
Collaborator

vmweaver commented Jan 29, 2018

@Ernster93
Copy link
Author

Ah... 3000.. OK

@vmweaver
Copy link
Collaborator

Now we should remove the a dresses from comments. Lol

@Ernster93
Copy link
Author

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

@vmweaver
Copy link
Collaborator

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

Should be once you update lambda.

@Ernster93
Copy link
Author

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

@Ernster93
Copy link
Author

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

@Ernster93
Copy link
Author

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

@vmweaver
Copy link
Collaborator

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
Copy link
Collaborator

Yep.. change to 3000.

@Ernster93
Copy link
Author

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
Copy link
Collaborator

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

@Ernster93
Copy link
Author

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
Copy link
Author

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
Copy link
Collaborator

vmweaver commented Jan 29, 2018 via email

@Ernster93
Copy link
Author

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
Copy link
Author

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

@Ernster93
Copy link
Author

you did the pause thing somehow

@vmweaver
Copy link
Collaborator

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
Copy link
Author

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
Copy link
Author

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

@Ernster93
Copy link
Author

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
Copy link
Collaborator

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"

@Ernster93
Copy link
Author

Ernster93 commented Jan 30, 2018

(Removed ZIP file)

@vmweaver
Copy link
Collaborator

vmweaver commented Feb 2, 2018

Been working with Ernter93 offline and the primary resolution for getting things to "mostly work" (still have to tweak some custom channels and such) was the discovery that his household had multiple Amazon accounts and I believe we should update our documentation to ensure we are clear that the account linked to the Echo device is the same as the one used for Alexa Skills Kit. Apparently the Lambda Skill can be related to any account.
@bklavet : May need your expertise in helping @Ernster93 work though utterances and custom channels in the index file.

@bklavet
Copy link
Owner

bklavet commented Feb 2, 2018

Cool! Wow with different profiles, I think you would have to do a developer skill for each account and tie it to the one lambda function arn

Let me know the channels and networks and I can see what I can come up with.

@Ernster93
Copy link
Author

custom slot skills.xlsx

bklavet... Here is my list of custom slot values. It's a combination of yours and what I've added. The ones that I have trouble with (both a combination of yours and mine), I have documented on this sheet. If you need the index, let me know. Just wasn't sure if I should attach it here with my WAN IP address and MAC listed.

This is awesome BTW!

@bklavet
Copy link
Owner

bklavet commented Feb 2, 2018

alright remove the wan and macs and app id from your index and attach it. to the thread.
thanks

@Ernster93
Copy link
Author

bklavet... I screwed something up and now I think I have to completely start over. I tried to fix a couple of things on my own... and now I can't even get the test to work. I will get back to you as soon as possible.

@Ernster93
Copy link
Author

Ernster93 commented Feb 3, 2018

bklavet... OK ... got myself working again. See attached for my index zip file.

@bklavet
Copy link
Owner

bklavet commented Feb 3, 2018

ok, so this may resolve some of it, see if the locals work for you now.
you will want to add your mac, app id, and wan to the attached index.
check out the custom slot values attached. I have altered it for the index.

So here's the rub. We don't have any control on how alexa passes what it passes to the aws function. we can only plan for what might be sent, and the custom slot values is a good way to get the odds better, but I have seen first hand what works fine for months suddenly stops because alexa is passing a slightly different value.

Long story short I try to put some contingencies into the case argument. feel free to alter as you wish.
As for c span..... I hate c span. the letter c sounds like alot of other letters. the case arguments for c span could be and this is just a few:
c. span
C span
sea span
see span
si span
b span
be span
bee span
v span
e span

I removed "exit" this is an alexa native that ends the skill, the odds of this being passed on to lambda is nill "end" "leave" do the same thing
I also removed Network from your custom slot values since "network is built into the utterances.
customvalues.txt
index.txt

well see if this doesn't improve things.

@bklavet
Copy link
Owner

bklavet commented Feb 3, 2018

ok, double checked and network isn't built into the utterances, but it would make sense to add "network" to the utterances than the slot values.

that said, i think what I sent should work. guess we will see.

@Ernster93
Copy link
Author

Thank You... when I get a chance, I will change everything to the update and see how it all works.

@bklavet
Copy link
Owner

bklavet commented Feb 3, 2018

sure thing, take a look at your original index and the changes i made, The best way to test a channel that does not seem to be working is to test the name in the simulator. Keep everything lower case, and see what is sent to lambda, and adjust accordingly.

Numbers usually sent with no problem so if a network name is not working and no matter what you cant get the station to work, you can tell it the number and that should be successful. Or come up with another name. example exchange NHL to hockey.

One final thought on locals channels. get familiar with this in the browser
[localip]:8080/tv/getTuned (for main genie or standalone receiver)
[localip]:8080/tv/getTuned&clientAddr[MAC of Client](for mini ginei/client)

turn the receiver on to the channel you want and run the above command and you will get something like this for channel 11
image

so use 11 instead of 011, or 0011.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants