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

Alexa Skill #654

Open
claell opened this issue Feb 10, 2018 · 17 comments
Open

Alexa Skill #654

claell opened this issue Feb 10, 2018 · 17 comments
Labels

Comments

@claell
Copy link

claell commented Feb 10, 2018

Hope this is the right place for this request.

@benfrancis
Copy link
Member

@andrenatal has a working prototoype. Not sure what it would take to turn it into a published Alexa skill? Could use the same speech commands as our internal intent parser.

One challenge might be how to configure the base URL of your own gateway. Also, would this use OAuth and does our OAuth implementation have the features required?

@benfrancis
Copy link
Member

We discussed this in a meeting yesterday, @andrenatal is working on an Alexa Skill. The idea is to create an Alexa skill which uses the Web Thing API on the gateway and requests access using OAuth. There will probably be a configuration option in the skill in the Alexa app which will let you specify your gateway URL and you will be prompted for your gateway username and password to give Alexa a JSON Web Token which grants it access.

@benfrancis benfrancis changed the title Official Alexa support Alexa Skill Feb 14, 2018
@siobhter
Copy link

Does this Alexa skill exist yet? Alternatively, is there support for Google Home?

@mrstegeman mrstegeman added this to the 0.6 milestone Sep 19, 2018
@sogaani
Copy link
Contributor

sogaani commented Sep 21, 2018

@siobhter The MozAssist I develop support connecting Google Home and your Gateway. This is not Mozilla official project, but my personal project.

@mrstegeman
Copy link
Contributor

If we want to go the decentralized route, I've found some other examples from openHAB and Home Assistant. Both give users instructions on how to set up their own AWS endpoint.

@benfrancis
Copy link
Member

Same question as in #655 (comment)

What is the technical constraint that prevents a single Alexa skill talking directly to multiple gateways?

@mrstegeman
Copy link
Contributor

The primary issue is that you have to have a single endpoint for the skill/action to authenticate against via OAuth. For us, that means running a separate cloud service that either proxies connections or somehow redirects to the user’s gateway. That is, unless @hobinjk found a way around that.

@benfrancis benfrancis modified the milestones: 0.6, 0.7 Oct 23, 2018
@flatsiedatsie
Copy link
Contributor

It's nice to see Alexa and Google voice control being a target for version 0.7.

I would hope that the gateway will also support a local, cloudless voice control option.

Personally I would even prioritise that, as it would seem to be a better fit with the Mozilla values:

  1. Avoid tracking and privacy violation. Cloud based voice control systems are not privacy friendly.
  2. Consistently communicate this as a feature and as a value.
  3. As IoT scandals inevitably increase, reap the benefits of the built up narrative of being an ethical alternative that does things in a more respectful manner, and that has the vision and leadership capabilities to point to a better way forward.

So far the IoT market has been 'cloud first' oriented. In my opinion that has to be switched around to 'cloud only if necessary'. Make the gateway "edge first".

@mrstegeman mrstegeman removed this from the 0.7 milestone Jan 9, 2019
@cr0ybot
Copy link

cr0ybot commented Jan 13, 2019

Can I at some point just hack my Echo Dots and replace the firmware with something that would just run the Things Gateway Assistant? 😉

In all seriousness, not having Alexa support is probably the only thing that will prevent me from relying totally on the Things Gateway as the central brain of my house. I have like 4 or 5 Echo Dots scattered around, and I really only use them for smart home commands. If the Skill development gets to a point that it works but only if you're willing to setup your own development version of it and connect it yourself I'd be willing to give that a go.

Since this has been removed from release 0.7, will it make it into 0.8?

@andrenatal
Copy link
Contributor

andrenatal commented Jan 13, 2019

Hi @cr0ybot and @flatsiedatsie.

I recently released an add-on which enables hands-free controlling of the gateway, keyword activated, and utilizing 100% local speech processing.

You just need a USB microphone and a speaker connected to the raspberry pi to use it. Expect an update with new features soon.

Give it a try and let me know if you have issues and if that fits your expectations.

Thanks

Andre

http://github.com/andrenatal/voice-addon/

screenshot 2019-01-12 20 55 54

@cr0ybot
Copy link

cr0ybot commented Jan 13, 2019

Hey @andrenatal, your addon is very cool!

However, my house is older and is not a very open-plan design, so this is why I have 5 Echo Dots scattered about. A central microphone/speaker doesn't work well in this environment. I'm tempted to set up your addon as a stopgap somewhere in the kitchen, but ideally I'd like to use the devices I already have, which happen to be Alexa devices.

@andrenatal
Copy link
Contributor

andrenatal commented Jan 13, 2019 via email

@flatsiedatsie
Copy link
Contributor

flatsiedatsie commented Jan 13, 2019

@andrenatal: you are making my day! Fantastic!

I own two Playstation Eye microphones (since the test by Snips showed they performed really well) and I have an extra Pi Zero W, so if you want I can help test things.

@cr0ybot Snips supports running 'satellites' which pass the audio on to the main system. So you could have Raspberry Pi Zero W devices (15$) with Playstation Eye devices ($12 new, $5 second hand) or a pi-hat for voice recognition ($10 for 2 microphone version, and going up from there). So an surveillance-free voice controller smart home would cost you about $25 per room.

@flatsiedatsie
Copy link
Contributor

For anyone else exploring this, I installed the Watch part of Snips to more easily see what the system thinks it hears:

On your Pi:
sudo apt-get install -y snips-watch

And then if you install SAM on your Linux/Mac laptop:
sudo npm install -g snips-sam
and then
sam devices
and then
sam connect gateway
you can do:
sam watch

You can then see the words it hears come by.

@benfrancis benfrancis added backlog and removed next labels Jan 23, 2019
@mrstegeman mrstegeman removed the backlog label Apr 3, 2019
@tim-hellhake
Copy link
Member

I just submitted a PR for Alexa support 😬
WebThingsIO/addon-list#320

@sasivarnan
Copy link

Any update on this?

I would really love to see this happen.

@th0mpy
Copy link

th0mpy commented Jun 9, 2020

Really excited to see this progress. Any updates?

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

No branches or pull requests