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

Increased Interest in this Skill #65

Open weiljx opened 6 years ago

weiljx commented 6 years ago

All,

I have seen a ton of increased interest in this skill as I closely follow it. I wish I had more time on my hands because I have many great ideas for how to improve it. I wanted to outline some of these ideas below and see if anyone else has time to work on them with me:

  1. This is a great skill but requires some technical know how, I would like to make it easier for others by making this a hosted Lambda and web interface for configuration.
  2. We could leverage Alexa's Smart Home API so we do not need an invocation name, to do this we need to implement HTTPS authentication and publish the Alexa App. When someone wants to use the hosted version they would need to provide their public IP or domain name when registering
  3. Depending on traffic and usage it may cost a bit to host but this may be able to be offset with a donations page
  4. Finally it would be nice to be able to tell the Alexa which TV you wish to control and have the skill remember your last preference so that 1 app could control all your TV's

Additionally when Alexa changes to a channel she could call the voice guide to answer whats on the channel rather than OK. Any other Feature enhancements could be addressed as well. Happy to give any more time I find to make this even better but definitely need some other motivated people to make this happen.

Let me know your thoughts

vmweaver commented 6 years ago

Josh, All great ideas! I hadn't really considered turning this into a published application. There are a lot of enhancements that could be made, I think. It's a matter of having the cycles to work through those. I may have some additional cycles to do additional development (learning NodeJS) work.

On Mon, Jan 8, 2018 at 1:48 PM, Joshua Weil notifications@github.com wrote:

All,

I have seen a ton of increased interest in this skill as I closely follow it. I wish I had more time on my hands because I have many great ideas for how to improve it. I wanted to outline some of these ideas below and see if anyone else has time to work on them with me:

  1. This is a great skill but requires some technical know how, I would like to make it easier for others by making this a hosted Lambda and web interface for configuration.
  2. We could leverage Alexa's Smart Home API so we do not need an invocation name, to do this we need to implement HTTPS authentication and publish the Alexa App. When someone wants to use the hosted version they would need to provide their public IP or domain name when registering
  3. Depending on traffic and usage it may cost a bit to host but this may be able to be offset with a donations page
  4. Finally it would be nice to be able to tell the Alexa which TV you wish to control and have the skill remember your last preference so that 1 app could control all your TV's

Additionally when Alexa changes to a channel she could call the voice guide to answer whats on the channel rather than OK. Any other Feature enhancements could be addressed as well. Happy to give any more time I find to make this even better but definitely need some other motivated people to make this happen.

Let me know your thoughts

  • Josh

— 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/65, or mute the thread https://github.com/notifications/unsubscribe-auth/ACibPaiOL1Oyp2ZMj3g_JooM-7G21JiWks5tInEZgaJpZM4RW3Oa .

bklavet commented 6 years ago

Hello Josh! Happy new year my friend! It will take a little work to get this presentable to amazon for publishing, Were you thinking of setting up a pi config that users would download and then install the published Alexa App?

weiljx commented 6 years ago

Hey Bklavet,

First Happy New Year!!

Ideally we would open source the code just like the current project. This way if someone wanted to self host they could but I would like to get it to the stage that amazon would accept it. My only thought on difficulties is if AT&T would not allow it as this is not technically a Public API. But during the initial phase it is something we would need to host until ready to submit to Amazon. As I stated I have many projects up in the air right now but find myself getting friends and family set up with this setup which would be easier if hosted.

There has been a ton of discussion on this thread so I guess everyone got Alexa for Christmas.

StarfighterJ commented 6 years ago

Nice to here about you all thinking of publishing this Skill with Amazon that is why I was hinting about being able to input WAN IP at enable Skill. I guess the var APP_ID in index would not matter cause it would be a 1 time Permeant as it would be Published. I like the Idea of Alexa's Smart Home API though I messed around with that today, but did not get anywhere. I need more smarts for that.

bklavet commented 6 years ago

weiljx! I spent a little time expanding the utterances for the voice guide. I was only using the custom slot values for GuideInfo: on/playing/show/ and the RatingInfo: rated/ratings if you want to try them out, expanded utterances for guide and ratings.txt

weiljx commented 6 years ago

@bklavet it looks like a nice addition at quick glance. I am working on the next iteration which should also make things easier for everyone. Just need to find some time to complete it. I will try to integrate these utterances into the new version I am working on.

bklavet commented 6 years ago

Cool,

I'm going to test them out over the next few days. I used to have a lot more for control but found that there is a "critical mass" to which everything is accepted and sent the slot regardless of how ridiculous the statement. Defeats the whole purpose.

vmweaver commented 6 years ago

Joshua, can you share your work? Happy to jump in and help if possible.

On Jan 24, 2018 10:25 AM, "Joshua Weil" notifications@github.com wrote:

@bklavet https://github.com/bklavet it looks like a nice addition at quick glance. I am working on the next iteration which should also make things easier for everyone. Just need to find some time to complete it. I will try to integrate these utterances into the new version I am working on.

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

weiljx commented 6 years ago

@mawrew19 I will try and get it checked into my fork over the weekend and I will let you know

vmweaver commented 6 years ago

One thought on controlling multiple TV was to enhance the skill so that one could utter "Alexa tell tv turn to HBO in family room" or in "bedroom 1" or "kitchen". We should be able to parse the /info/getLocations response and match the "family room" with one of the locationname s and then the associated MAC address and make the call. I know @weiljx , you have been playing with similar all-inclusive code. Does this align with your current strategy?

weiljx commented 6 years ago

@mawrew19 I have thought about this although I am not sure it would be wise to make the getLocations call every time. This is what made me start thinking of using the Smart Home Skill as it is much more geared towards this type of interaction. Sorry I did not get a chance to get anything checked in this weekend. I have been very busy with work lately and finding free time seems to get harder and harder.

vmweaver commented 6 years ago

No worries at ALL.. This is a hobby for me, so I squeeze it in when I can. I may prototype it to see if there is a performance impact. I haven't looked at the Smart Home Skill requirements or anything.

weiljx commented 6 years ago

@mawrew to give you another idea I think it would be nice to say Alexa ask TV to use Living Room this could be mapped in the app or make a call to get locations. Then this would be remembered until you tell Alexa to use a different device. This would prevent the need to say a device name with every command. First thought here was to not end the session but I have not investigated fully. I look forward to hearing your thoughts

vmweaver commented 6 years ago

Interesting idea. I am not sure how you would make that a persistent setting unless the skill were somehow linked to some other database service to store it. I think each discreet call terminates the sessions when done, but I could be wrong. Having said that, it may not be TOO challenging to set up an Amazon Dyanamo DB for specific users. Just makes setup a bit more complex.

I am working through some ideas to see how one might provide a web service or somethign else where AWS creds are entered and validated, then download GIT code, modify, upload, setup Alexa Skill, setup lambda, etc.

I may have to look more into the Smart Home Skill to see how different the capabilities are.

So the call to info/getLocations only returns those devices that are currently powered on. This may not be a bad thing, but certainly could pose some complexity. From a use-case perspective, I wouldn't ever be changing the channel on something that was powered off.. lol.

bklavet commented 6 years ago

Gentlemen, Just tried to uplaod a new test zip to my lambda function and it error'd out on me image

I am guessing if anyone tries to upload the zip for any of the three versions they will run into this.

It looks to me like the handler is correct. Am I missing something?

Thanks B

vmweaver commented 6 years ago

B, Yeah, looks like Amazon update their Lambda interface. Just rename "index" to "index.js" and reZIP and upload. Looks like their new editor looks pretty cool, actually. Can do updates and tweak instead of having to rezip and upload every time...

You can also upload, then go to the inline editor and rename the "index" file to "index.js" in the little file tree on the left. -- m

bklavet commented 6 years ago

Thanks mawrew19! This must have just happened a day or so ago. I have been chewing through some of custom slot values with the beta test simulator, went to upload and Bam! I've been staring at my changes every since thinking I had something mucked up.

jamesds1 commented 6 years ago

Hey guys. I have been trying to figure out the same thing along the lines of info/getLocations and Amazon Home Skills requirements. Right now I have 3 different Directv skills. One for the living room, one for Mstr bedroom and one for our garage. Just different invocation names and mini client mac addresses. _