Jump to content
C4 Forums | Control4

Amazon Echo


TheaterExtreme

Recommended Posts

Very interested in Echo's potential with C4.  I just purchased an Echo and am a longtime C4 user.  Frankly I think Amazon is bringing voice control to the masses here and this is going to be huge.  This should be a C4 priority. If I still had the programming skill I would drop everything to made this work.  Hope C4 sees the huge upside here.

Link to comment
Share on other sites


  • Replies 142
  • Created
  • Last Reply

Hi Everyone...third party is here!  Sorry I just saw this thread...

 

We have officially released our driver for Amazon Echo TODAY...it is now available for purchase!

 

The driver is still somewhat basic at this point (mainly due to limitations of the Echo itself) but what it does, it does really well...and is very quick and easy to setup.

 

In a nutshell, it allows you to define custom keyword "triggers"...such as "kitchen", "house", "TV", "downstairs", "master blinds", etc...(you can create whatever keywords you like)

 

For each trigger that you define, you can program any control4 activities to take place (activate a lighting scene, raise blinds, turn on TV to specific channel, etc...anything that can be controlled via your control4 system).

 

For example...you can say "Alexa, turn on downstairs", or "Alexa, dim the kitchen", or "Alexa, turn off the house"... and have those commands trigger any programming that you desire in Control4.

 

PM me if you are interested in purchasing a license and I will provide further details.  Of course you will need your dealer to add the driver to your project and configure it to work with your Echo(s).  If you need help with install, we are also a Platinum Control4 dealer (located in Aspen, Colorado, USA area) and would be happy to assist you with a remote install provided that you enable remote access to your system for our dealership.

 

Thanks!

-Ari

Link to comment
Share on other sites

PM sent. If I can get this working in the next couple weeks, my wife will be thrilled!

Be interested to hear what else is planned for the driver. If you need any specific testing done, glad to help. Look forward to having Alexa play media from the Amazon account - Alexa, play movie name in living room or play Dad's playlist in the den.

I suspect the VoicePod folks aren't going to be happy about this ... Voice recognization is quite good with the Echo - I suspect this will be very popular.

Going to have to buy more Echo's and figure out how to get power to a perfect place for an Echo in one of my rooms.

Link to comment
Share on other sites

Does the driver allow for Alexa to respond?

"Alexa, dim the Kitchen lights"

"The light level has been adjusted as requested" (or whatever)

If you could pass a TTS string to be spoken on event completion, that would be awesome ...

Link to comment
Share on other sites

Does the driver allow for Alexa to respond?

"Alexa, dim the Kitchen lights"

"The light level has been adjusted as requested" (or whatever)

If you could pass a TTS string to be spoken on event completion, that would be awesome ...

don't see why you could not use this in conjunction with Alan's advanced announcements driver to have a system you could talk to and it would talk back with some creative programming?:

http://www.chowmain.co.nz/advanced-announcements

hands free interactive house, not too long ago this idea was science fiction ;)

Link to comment
Share on other sites

don't see why you could not use this in conjunction with Alan's advanced announcements driver to have a system you could talk to and it would talk back with some creative programming?:

http://www.chowmain.co.nz/advanced-announcements

hands free interactive house, not too long ago this idea was science fiction ;)

I already do this (I have an announcement give Alexa a command), but part of the reason I want a TTS function is that Alexa's voice is far more natural than the Advanced Announcement TTS options. This would be ideal to provide specific feedback to the visually impaired and would seem far more integrated to the user. And I'd like my house to have one "voice".

Link to comment
Share on other sites

So far, so good. The hardest part of getting going was figuring out the IP address of the Echo. :).

Once the driver is installed in the project, the rest of the config/setup can be done in Home Edition on the Properties page.

The driver currently treats every defined keyword/trigger as a pseudo Phillips Hue light that has four events that can be programmed against - on, off, up, down - and you can run whatever C4 programming you want on each event, so while the trigger options are somewhat limited, what an event can trigger is not.

Have to spend some time finding trigger words that Alexa readily understands. Lights, TV, television work fine. Netflix or Netflicks not so much. Keywords that Alexa uses for other events like Music and Radio don't work. But those are Echo issues, not driver ones.

Link to comment
Share on other sites

A youtube video showing this in action would be great!

 

So you are limited to Alexa's vocab?  1 example where I'd like to use this: I have a good night button (turns off lights, alarms house, puts bedroom tv on with a sleep timer, etc).  Could I say Alexa Good night or is that not supported?  Anywhere to find out what words or phrases are supported or just trial and error?

Link to comment
Share on other sites

Well, "Goodnight" is a defined action for Alexa, so you can't use that as a trigger. And, even if you could, you would have to say "Alexa turn on Goodnight". I handled the situation you mentioned by defining "Bedtime" as a trigger, so "Alexa, bedtime on" shuts off the house and plays music in the bedroom.

The vocabulary you can use to trigger an event is limited to whatever Alexa would recognize as an action to control a light - <light name> on/off/up/down or Turn off <light name>. You can't say "Alexa, I'm going to bed" and execute your Goodnight action (and that's apparently a bad example - that particular phrase returns "OK, good bye for now" from the Echo)

Haven't found any definitive keyword/phrase list, though there are plenty of posts on the various Echo forums with some. So far, I have found that trying to use a radio station name as a trigger doesn't work well ("Turn on Kool 105" was interpreted as a weather command). Anything related to music didn't work - Pause, Music, Radio were all interpreted as native functions. But TV or Television works fine, so "Alexa, Turn TV up" works fine to raise the volume.

My wife thought I was a bit nuts last night when she came home and I was going through a series of "Alexa. <trigger> on/off/up/down" commands to see which trigger words or phrases were consistently recognized. Using common room names seem to work best (Kitchen, Living Room, Hallway), but I've only started to play. Just have to come up with good keywords that don't sound stupid when used with on/off/up/down required actions.

This has great potential and if there is an API for AVS (Alexa Voice Services), in theory the Control4 driver could be improved to have commands processed first before interpreting them through Echo (which would allow you to use "Alexa, Goodnight" for a C4 action.

The potential is enormous. But the developer is limited by what Amazon is making available. Currently this driver is just pretty much a Control4 based version of a common "pretend these are Phillips Hue lights or Wink devices" exploit.

But it works well enough even in it's current state that I'm planning to get a few more Echos when they are back in stock at Amazon.

Link to comment
Share on other sites

The original video posted is mine.  It is native control4 control, not through hue.  I used the following https://github.com/zachfeldman/alexa-home  with some custom scripting to allow it to send commands to control4.  It works pretty good but not bullet proof enough that I would install in a customers home.  

 

Cheers,

-Eric

 

here is my control4 module for the alexa-home scripts

require 'net/http'require 'open-uri'require './helpers'class AlexaControl4  def initialize    env_control4_ip = ENV['C4_IP'] if ENV['C4_IP']    @ip = env_control4_ip  && !env_control4_ip .nil? ? env_control4_ip : `ifconfig -L en0`.scan(/inet.*/)[1].split(" ")[1]  end  def wake_words    ["movie", "lamp", "room", "good"]  end  def process_command(command)    if command_present?(command, "good")      if command_present?(command, "night")        good_night       elsif command_present?(command, "evening")        good_evening       elsif command_present?(command, "morning")        good_morning       end    elsif command_present?(command, "movie")      if command_present?(command, "on")        tv_on       elsif command_present?(command, "off")        tv_off       end    elsif command_present?(command, "room")      if command_present?(command, "on")        room_on       elsif command_present?(command, "off") 	room_off              elsif command_present?(command, "red") 	room_red              elsif command_present?(command, "green") 	room_green              elsif command_present?(command, "blue") 	room_blue              end    elsif command_present?(command, "lamp")      if command_present?(command, "on")        lamp_on       elsif command_present?(command, "off") 	lamp_off              end    end  end  private  def run_command(command)    uri = URI.parse("http://#{@ip}:8080/#{command}")    Net::HTTP.get(uri)  end  def good_night     run_command("NIGHT")  end  def good_evening     run_command("EVENING")  end  def good_morning     run_command("MORNING")  end  def tv_on     run_command("TVOn")  end  def tv_off    run_command("TVOff")  end  def lamp_on     run_command("HOME")  end  def lamp_off    run_command("AWAY")  end  def room_on    run_command("ROOMON")  end  def room_off    run_command("ROOMOFF")  end  def room_red    run_command("ROOMRED")  end    def room_blue    run_command("ROOMBLUE")  end  def room_green    run_command("ROOMGREEN")  endendMODULE_INSTANCES.push(AlexaControl4.new)
Link to comment
Share on other sites

So far, so good. The hardest part of getting going was figuring out the IP address of the Echo. :).

Once the driver is installed in the project, the rest of the config/setup can be done in Home Edition on the Properties page.

The driver currently treats every defined keyword/trigger as a pseudo Phillips Hue light that has four events that can be programmed against - on, off, up, down - and you can run whatever C4 programming you want on each event, so while the trigger options are somewhat limited, what an event can trigger is not.

Have to spend some time finding trigger words that Alexa readily understands. Lights, TV, television work fine. Netflix or Netflicks not so much. Keywords that Alexa uses for other events like Music and Radio don't work. But those are Echo issues, not driver ones.

 

how did you find out your echo ip by the way?  is it listed fairly obviously on your router ip assignment list?   

 

regards

shane

Link to comment
Share on other sites

Hi Everyone...third party is here!  Sorry I just saw this thread...

 

We have officially released our driver for Amazon Echo TODAY...it is now available for purchase!

 

 

 

Well this is GREAT news.  I PMed you.  Even happier now i bought an echo on sale.  Can't wait to try it out.

 

Regards

Shane

Link to comment
Share on other sites

The original video posted is mine.  It is native control4 control, not through hue.  I used the following https://github.com/zachfeldman/alexa-home  with some custom scripting to allow it to send commands to control4.  It works pretty good but not bullet proof enough that I would install in a customers home.  

 

Cheers,

-Eric

 

here is my control4 module for the alexa-home scripts

require 'net/http'require 'open-uri'require './helpers'class AlexaControl4  def initialize    env_control4_ip = ENV['C4_IP'] if ENV['C4_IP']    @ip = env_control4_ip  && !env_control4_ip .nil? ? env_control4_ip : `ifconfig -L en0`.scan(/inet.*/)[1].split(" ")[1]  end  def wake_words    ["movie", "lamp", "room", "good"]  end  def process_command(command)    if command_present?(command, "good")      if command_present?(command, "night")        good_night       elsif command_present?(command, "evening")        good_evening       elsif command_present?(command, "morning")        good_morning       end    elsif command_present?(command, "movie")      if command_present?(command, "on")        tv_on       elsif command_present?(command, "off")        tv_off       end    elsif command_present?(command, "room")      if command_present?(command, "on")        room_on       elsif command_present?(command, "off") 	room_off              elsif command_present?(command, "red") 	room_red              elsif command_present?(command, "green") 	room_green              elsif command_present?(command, "blue") 	room_blue              end    elsif command_present?(command, "lamp")      if command_present?(command, "on")        lamp_on       elsif command_present?(command, "off") 	lamp_off              end    end  end  private  def run_command(command)    uri = URI.parse("http://#{@ip}:8080/#{command}")    Net::HTTP.get(uri)  end  def good_night     run_command("NIGHT")  end  def good_evening     run_command("EVENING")  end  def good_morning     run_command("MORNING")  end  def tv_on     run_command("TVOn")  end  def tv_off    run_command("TVOff")  end  def lamp_on     run_command("HOME")  end  def lamp_off    run_command("AWAY")  end  def room_on    run_command("ROOMON")  end  def room_off    run_command("ROOMOFF")  end  def room_red    run_command("ROOMRED")  end    def room_blue    run_command("ROOMBLUE")  end  def room_green    run_command("ROOMGREEN")  endendMODULE_INSTANCES.push(AlexaControl4.new)

This is great stuff and along the lines of what I was going to try with the RPi. Thanks to the github pointer - wasn't aware of that project and certainly don't need to re-invent the wheel.

Link to comment
Share on other sites

how did you find out your echo ip by the way?  is it listed fairly obviously on your router ip assignment list?   

 

I had mislabeled my Echo as one of my Fire TVs so I thought I couldn't see it. I just went through the Echo set up process again and assigned it a fixed IP address.

But if you see a MAC starting with 74:75 or A0:02 that's probably it (Fing and other network scanners will ID it as Amazon Technologies)

If you don't set up the Echo with a fixed IP, make sure to set a DHCP reservation for it in your router to fix it that way.

Link to comment
Share on other sites

Hi Everyone...third party is here!  Sorry I just saw this thread...

 

We have officially released our driver for Amazon Echo TODAY...it is now available for purchase!

 

The driver is still somewhat basic at this point (mainly due to limitations of the Echo itself) but what it does, it does really well...and is very quick and easy to setup.

 

In a nutshell, it allows you to define custom keyword "triggers"...such as "kitchen", "house", "TV", "downstairs", "master blinds", etc...(you can create whatever keywords you like)

 

For each trigger that you define, you can program any control4 activities to take place (activate a lighting scene, raise blinds, turn on TV to specific channel, etc...anything that can be controlled via your control4 system).

 

For example...you can say "Alexa, turn on downstairs", or "Alexa, dim the kitchen", or "Alexa, turn off the house"... and have those commands trigger any programming that you desire in Control4.

 

PM me if you are interested in purchasing a license and I will provide further details.  Of course you will need your dealer to add the driver to your project and configure it to work with your Echo(s).  If you need help with install, we are also a Platinum Control4 dealer (located in Aspen, Colorado, USA area) and would be happy to assist you with a remote install provided that you enable remote access to your system for our dealership.

 

Thanks!

-Ari

 

I just got your driver and started playing with it. It's terrific!

 

I spent a few hours previously playing with the VoicePod and everyone in my household got very frustrated at its poor recognition rate. The Echo is vastly superior, it understands the trigger phrases very well. And you can be natural about it: "kitchen on", "turn on the kitchen", "turn the kitchen on", "kitchen on please" all work as expected.

 

I think I'm going to need to buy a few more Echos to sprinkle around the house...

 

Thanks.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.