Alexa Ask Vera Alexa Skills Plugin

I’ve been writing an Alexa Skills plugin to interface Alexa with Vera and was wondering if anyone else was interested? I know there is already a version by emulating a hue bridge, but I wanted a pure code solution that doesn’t require additional hardware. I haven’t done much beyond defining the voice interaction (see attached), but I would be happy to take suggestions and/or collaborate with other developers. (For example, it occurred to me it might be helpful to trigger a scene by saying things like “Alexa tell Vera I’m {watching a movie|Scene}” or “Alexa tell Vera I’m {leaving the house|Scene}” .)

Amazon now lets you create lambda functions in Java, so all of my test code runs on the free tier of Amazon Web Services and does not need any local configuration. My own Vera is running UI7, so I’ve started implementing the newer remote access protocol.

This sounds great!

I am using the existing workaround hosting the server on a local machine. Being able to include “plain speech” requests would definitely be an improvement.

While I am not really all that technical, I have an Echo, and running a Vera 3…so let me know if there is anything I can do to assist.

Look forward to seeing the developments!

@jster This sounds great! I am running UI5 on a Vera 3 and have an Echo (still in a box) I would be happy to help test with…

A couple requests if I may:

UI5 support please!!!

It would be great to be able to say, for example, “open the garage” and “close the gate” to control the Garage Door plugin devices if possible. If that is difficult the workaround would just be to create scenes with those names I suppose.

Thanks.

Is there any way this can be implemented without using AWS or other clouded resource? I would prefer to keep it local and am more than happy to carve out space on either my local *nix or window server.

In my opinion, this type of integration fails from a usability perspective. I don’t want to “ask Vera” to do anything. I just want to tell Alexa, “turn on the kitchen lights.” I understand that this may not be possible with the current Amazon SDK, I’m just saying. This is why, in my opinion, the bridge software that emulates the Phillips Hue gateway is so great from a usability perspective. My wife doesn’t even know what the Vera is called, and I see no reason to change that.

I have to agree with @BOFH in that I wouldn’t like to be reliant on AWS nor do I like paying for AWS after the 12 month free period is over. Even at minimal rates, yet another $12 per month is highly undesirable to me.

I’d also prefer that everything stay local, but despite conflicting reports, it seems to me that Echo doesn’t work without cloudy internet access. So, that may not be a legitimate requirement for the Echo/Alexa plugin.

As @tadr points out, a more natural language; ‘Alexa, turn on the kitchen lights.’, would be my preference. It is how the other Echo/Alexa solution works.

All good, but I would prefer to (sometimes) get away from the “Alexa, turn on…” syntax. Heck, I would like to get rid of the “Alexa” part and just say “Turn on kitchen lights”.

When invoking a scene, I still have to think about it (get the syntax right in my head), and then instruct Alexa … “Alexa, turn on scene home” … yuck! Try pausing the TV (don’t even try to create a device named “pause”). The syntax is “Alexa, turn on pause TV”.

jster, I agree it would be nice to approach using Echo via a skill in addition to emulating a Hue controller.

Just got my Echo this weekend and started playing with some non-vera Skills on AWS Lambda.
Good utterances list. Have you given thought to how you will implement this? On Lambda? If so how
would you communicate back to Vera? On a personal internal web-server ie raspberry pi?

This weekend I also installed a JAVA server+armzilla-amazon-echo-ha-bridge on a spare RPi and attached
a bunch of switches and scenes. Initial impression is that an always on listening device that can then
act like the Echo is a game changer (or at least a significant leap forward). Within minutes of implementing
my wife and both kids immediately said they want their own :slight_smile: Never got that response when I first implemented
the Vera :wink:

AWS is usually TomCat which you can run on just about any platform.

I’ll copy what I said elsewhere.

You probably don’t want to use a skill. I developed a skill a few weeks back which can control the Vera and Kodi (XBMC) but, there’s two reasons you wouldn’t want to use a skill.

First, skills require you to say the name of them. For instance “Alexa, tell house to turn on the kitchen” rather than “Alexa, turn on the kitchen” and second, Alexa is very aggressive at interpreting things as native commands. Since “turn on kitchen” is a known command, it will route it to its built in function rather than the ‘house’ skill. It also means you have two or three more words Alexa could potentially fail to recognize.

Being able to say “Alexa tell house to watch game of thrones” and having my media center turn itself on and start playing the oldest unwatched episode is pretty freaking cool, though.

hmspain - Don’t put scene in the name of your device if you don’t want to say scence.

And for the love of all that is holy don’t use Java. Anyone complaining about it using the cloud is welcome to send their Echo to me.

[quote=“Hackworth, post:10, topic:187956”]hmspain - Don’t put scene in the name of your device if you don’t want to say scence.

And for the love of all that is holy don’t use Java. Anyone complaining about it using the cloud is welcome to send their Echo to me.[/quote]

Good advice, thank you!

Let’s say you wanted to invoke your “Home” scene, just calling it “home” does not appear to work “Alexa, turn on home” is simple to remember, but does not work. That’s when I started using “Scene Home”. Ugly. “Alexa, turn on scene home”. Again, not very effective.

I thought to use “mode”; “Alexa, turn on house mode”? What do you think?


Separate issue; why no Java? The amazon-echo-bridge seems to work swimmingly well with the jar file.

Java is absolutely awful. I can’t stand it. What I have working for me is a very basic nodejs Lambda function which forwards everything to my house’s speech API for parsing and replying which is written in Ruby (Old stripped down SiriProxy code)

“Home” is probably one of those things that she wants to interpret for built in functionality then, have you tried House? How about “everything” or “here” or…

Alexa, TURN ON ZEE MISSILES!

[quote=“hmspain, post:11, topic:187956”][quote=“Hackworth, post:10, topic:187956”]hmspain - Don’t put scene in the name of your device if you don’t want to say scence.

And for the love of all that is holy don’t use Java. Anyone complaining about it using the cloud is welcome to send their Echo to me.[/quote]

Good advice, thank you!

Let’s say you wanted to invoke your “Home” scene, just calling it “home” does not appear to work “Alexa, turn on home” is simple to remember, but does not work. That’s when I started using “Scene Home”. Ugly. “Alexa, turn on scene home”. Again, not very effective.

I thought to use “mode”; “Alexa, turn on house mode”? What do you think?


Separate issue; why no Java? The amazon-echo-bridge seems to work swimmingly well with the jar file.[/quote]

I have tried “house shields” LOL but getting Alexa to respond to “Alexa, raise the house shields” has been a problem, and “Alexa, turn on house shields” does not quite have the dramatic flair ;-).

Actually, I’m looking forward to an “alias” capability where we can over-ride any command to do the function we want done.

i.e. “raise house shields” → “turn on house mode”

I would love and adore Amazon forever if they let skills implement “base” functionality, where you don’t have to specify which skill you were invoking first.

But lets be honest, I love Amazon already, they ship me toilet paper and toothpaste.

I love Amazon already, they ship me toilet paper and toothpaste.
And today they gave you a deal on those with X-Mas in July!

This would be great! Any updates?

Ditto,

I’ve just got an Alexa - and it would be good to see a ‘skill’ for Vera

Is there any news?

it seems that vera is one of the only popular platforms that doesn’t have this. Any news or update?

On October 28 7:25AM Vera Control Ltd @VeraLovers posted:

Echo/Alexa integration will be available shortly.

[url=https://twitter.com/VeraLovers/status/792009488270229505]https://twitter.com/VeraLovers/status/792009488270229505[/url]