Jump to content

Interface with Amazon Echo?


awzulich

Recommended Posts

Most exciting to see that many of us may soon enjoy voice control of our connected devices.

 

With respect to the current state of development, I do hope there is an end goal / ability to shorten " Alexa, tell Izzy to ... "

 

Into a much simpler and faster "Alexa, turn on (the) pool pump"  or a more crude language "Alexa, pool pump on/off"  because I only have one ISY and any home automation commands would be inherent about the ISY controler.

The whole "tell Izzy to" is a start but in the end is just not elegant and will interfere with adoption.

Link to comment

Icerabbit,

 

The connected home that They are working on will not require the "Tell Izzy"

 

I am doing all that you want including turning on my pool spa, waterfall or lights using the HUE emulator in a Connected Home scenario. My pool system is not controlled by the ISY but that is not an issue.  It could just as easily have been controlled by the ISY.

Link to comment

Most exciting to see that many of us may soon enjoy voice control of our connected devices.

 

With respect to the current state of development, I do hope there is an end goal / ability to shorten " Alexa, tell Izzy to ... "

 

Into a much simpler and faster "Alexa, turn on (the) pool pump"  or a more crude language "Alexa, pool pump on/off"  because I only have one ISY and any home automation commands would be inherent about the ISY controler.

 

The whole "tell Izzy to" is a start but in the end is just not elegant and will interfere with adoption.

 

There are many skills Echo can utilize so there has to be a way of addressing which skill to use.  for IFTTT "trigger" is used, for ISY "ask Issy," "open Issy" or "tell Issy" is used.

 

 

Jon...

Link to comment

Hello to Michel and all,

 

I got my Echo to work with my ISY today.

 

FYI: my testing so far.

 

One of the things that I discovered is that setting a temperature set point is in error. If I want my Heating Set point to be 70 degrees, I have to say to set the temperature set point to 140 degrees, exactly double. I am using  Venstar Thermostats one with the add-on insteon module and the other with the built-in module. The one with Built-in module does not respond and the other one does. It definitely reads the temperature back accurately (not double). 

I find that Alexa responds to single word names and not all of them. for instance it doesn't understand the word closet. I also noted that even though I labeled my Bathroom switches Bathroom 1 and Bathroom 2, Alexa dose understand the word Bathroom and not the real names. I have NOT had success with multi-word names.

 

Question:

is there anything that we supporters can do to help enhance the ISY to Echo experience? How can we support UDI in this effort?

 

And finally:

Thanks UDI and Michele for all the work that you have done to get us this far.

 

Thermostat setting will be solved in the next version.

 

Note, if you want to use bathroom 1 and bathroom 2, you have to write it "bathroom one" and "bathroom two". You can't use numeric characters.

 

All the feedback so far is invaluable. 

 

Thanks,

 

Benoit.

Link to comment

Hi,

 

I use and enjoy my ISY every day.  Just installed ISY Portal and linked to Amazon Echo Alexa skill.

 

Some observations and questions:

 

1) Same problem mentioned above: Single word vs Multi (space) words  - Izzy turn on Living Room Light fails, "what device"- Rename Living Room to Main and Izzy turn on Main Light works = also renaming to LR, Izzy turn on "el" "ar" light works.  Echo sometimes stumbles on Downstairs - Echo says "I can't find device "stairs""

 

2) Does Echo/Izzy understand/use SCENES?  I have scenes with names like Bedroom that turn on a couple of insteon devices - Izzy does not seem to ever respond to Bedroom, only individual devices in the Bedroom scene.  It would be great to have IZZY work with scenes

    If scenes aren't supported - please give some generic examples of  "workaround" programs that IZZY can use to turn on/off multiple devices and not require total re-write of existing programs.

 

3) Thanks for creating this sub forum just for IZZY - how about some stickies at the top with IZZY directions/setup/syntax for reference/noobies

 

 

I have confidence this will be improved.

 

Scenes are supported.

 

However, if you have a device and a scene using the same name... only one of the two will work. When doing a refresh devices, it will tell you if it found duplicate names.

 

Benoit.

Link to comment

Maybe the Connected Home is the better direction for automation.

If Amazon added a few verbs in addition to turn on and off if would likely do 99% of what is commonly used.

In practice  Alexa tell Izzy to turn on..   is a little cumbersome vs Alexa turn on...

 

Having the ISY portal available to those that want to create a skill is tremendous.

 

(Now Alexa just needs to respond to "Clap On"  "Clap Off".  :-P )

 

Connected home will provide better speech recognition accuracy, and shorter sentences.

 

However, it will not allow to control lock, thermostats, or programs.

 

This is the reason why we decided to do both a connected home adapter, and a skill.

 

Benoit.

Link to comment

One thing I believe is that Alexa gets "Smarter" as she hears the same phrases over and over.  For example the Echo rarely misses "Kitchen Lights", "Master Bedroom Lights" and other devices which I command often. Things I command less e.g. "Guest bedroom Lights" have a lower recognition rate until I take the time to speak them multiple times. 

 

+1

Link to comment

Hi Jim,I am not sure how you got the impression that this is a production ready solution. It's not and we never claimed it to be (otherwise it would have been advertised all over the place). Furthermore - and explicitly - I stated that there are some issues and that you are welcome to "test":http://forum.universal-devices.com/topic/17082-interface-with-amazon-echo/?p=157836Hi whywork,Yes, scenes should work. The issue is with the words used such as bedroom and light.We are definitely working on improvements. IFTTT is not using a skill otherwise you would have to have: "Alexa, tell IFTTTT to trigger xxx". The issue is with Skills and slots that may have other meanings to Alexa. Personally, I think the concept of skills and predefined slots is not going to work for automation because there's really no way to have all different permutations and combinations of locations predefined. We are waiting to hear back from Amazon and hopefully we can figure out a way to make this a little less stringent. In the meantime, Benoit has been playing with utterances and interpretations by Alexa but with very little improvements: Alexa needs a list of words/phrases from which it can infer what was said based on some weights for each.With kind regards,Michel

Michel - my comments in no way we're meant to be negative, I love this stuff and I love that we get to be on the cutting edge but I also would hate for anyone to get a black eye because someone thinks that this should have had more development time before being shared, as long as everyone has the right mindset then keep the alpa and beta's coming!

 

Thanks and keep up the good work!

Link to comment

I had said earlier on that I would just wait for the next version. I was told that the next version would not help which to me makes no sense. I think Amazon and UDI need more time to address the functionality hiccups we are seeing. Its basically not even a beta yet so while we can say its not working for this and that UDI cant be judged on a bug here and there. Better things to come. I will try it after the new year and hope its working then or just wait until its actually released.

 

Part of the confusion for me is did UDI write the skill or a third party. I think UDI staff should identify themselves in their signature so we know a post is UDI or just another user.

Edited by Digger
Link to comment

Icerabbit,

 

The connected home that They are working on will not require the "Tell Izzy"

 

I am doing all that you want including turning on my pool spa, waterfall or lights using the HUE emulator in a Connected Home scenario. My pool system is not controlled by the ISY but that is not an issue. It could just as easily have been controlled by the ISY.

Barry how many instances of the HUE emulator can you run on a Win7 box and what is the total max count of devices at now?

Link to comment

Huddadudda,

 

I have no personal experience running the emulator on a WIN 7 box but I suspect it is the same as running it on a Raspberry Pi which most of us who are using the emulator do. The Emulator is a Java Jar so operation should be identical on all Java systems. 

 

My RPi runs four copies of the emulator, three of them having devices defined only for the ISY and the fourth, my test instance, has devices not located on my ISY (SPA, Theater, Waterfall, Pool Lights, Thermostat).  I have a grand total of 93 devices defined across the four emulators. One has 35 devices, one has 32 devices, one has 21 devices, and one has 5 devices.  With regard to the ISY, My devices are mostly On/Off/Dim controls; but I also handle fans (all 3 speeds plus off), scenes, and programs (runThen). I have been told you can ask a scene to dim/brighten but not to set an absolute intensity leveI. I have not tried that

 

I know of no absolute limitation on the device count but have been told that the Echo has trouble finding all the device on an emulator if the count is greater than 40 or so.

 

The test instance has debugging turned on so I can see what happens when I speak and what gets sent to the emulator, and what the emulator sends to the final destination e.g. the ISY.

 

I have almost no trouble with the Echo interpreting what I say. The only thing I don't like is the amount of time before the Echo says Okay signifying completion of the command sequence.  When I speak a command destined for the ISY I see the result, e.g. a light turning on, in less than a second after I complete speaking. It then takes 2-3 seconds additional for the Okay to be spoken by the Echo. I believe the Echo will respond with Okay when it gets a status of 200 (OK) coming back from the ISY signifying command completion. That should happen very quickly so I do not understand the delay.  If anyone understands why this delay occurs I would like to hear from them.

 

Some individuals have reported problems with the Echo finding the devices on the  emulators when you command the echo to "Discover Devices". In almost all cases I know about this has been resolved to be a uPnP issue on the LAN sub-net the Echo and Emulators are on. as the Echo uses a uPnP search to discover devices in the Connected Home.

 

In my case I have to repeat the "Discover Devices" sequence multiple times (generally 3 or 4) for the Echo to find all of my devices. On each discovery pass it appears to find the devices on one or two of the emulators.  I did run a test with all 93 of my devices on a single emulator, but the Echo could never find them no matter how many times I tried. 

 

I believe the author of the Emulator (BWS Systems) is looking into the device discovery problem.

Hope that helps

Edited by barrygordon
Link to comment

Huddadudda,

 

I have no personal experience running the emulator on a WIN 7 box but I suspect it is the same as running it on a Raspberry Pi which most of us who are using the emulator do. The Emulator is a Java Jar so operation should be identical on all Java systems.

 

My RPi runs four copies of the emulator, three of them having devices defined only for the ISY and the fourth, my test instance, has devices not located on my ISY (SPA, Theater, Waterfall, Pool Lights, Thermostat). I have a grand total of 93 devices defined across the four emulators. One has 35 devices, one has 32 devices, one has 21 devices, and one has 5 devices. With regard to the ISY, My devices are mostly On/Off/Dim controls; but I also handle fans (all 3 speeds plus off), scenes, and programs (runThen). I have been told you can ask a scene to dim/brighten but not to set an absolute intensity leveI. I have not tried that

 

I know of no absolute limitation on the device count but have been told that the Echo has trouble finding all the device on an emulator if the count is greater than 40 or so.

 

The test instance has debugging turned on so I can see what happens when I speak and what gets sent to the emulator, and what the emulator sends to the final destination e.g. the ISY.

 

I have almost no trouble with the Echo interpreting what I say. The only thing I don't like is the amount of time before the Echo says Okay signifying completion of the command sequence. When I speak a command destined for the ISY I see the result, e.g. a light turning on, in less than a second after I complete speaking. It then takes 2-3 seconds additional for the Okay to be spoken by the Echo. I believe the Echo will respond with Okay when it gets a status of 200 (OK) coming back from the ISY signifying command completion. That should happen very quickly so I do not understand the delay. If anyone understands why this delay occurs I would like to hear from them.

 

Some individuals have reported problems with the Echo finding the devices on the emulators when you command the echo to "Discover Devices". In almost all cases I know about this has been resolved to be a uPnP issue on the LAN sub-net the Echo and Emulators are on. as the Echo uses a uPnP search to discover devices in the Connected Home.

 

In my case I have to repeat the "Discover Devices" sequence multiple times (generally 3 or 4) for the Echo to find all of my devices. On each discovery pass it appears to find the devices on one or two of the emulators. I did run a test with all 93 of my devices on a single emulator, but the Echo could never find them no matter how many times I tried.

 

I believe the author of the Emulator (BWS Systems) is looking into the device discovery problem.

Hope that helps

Thanks Barry for the info. I am running one of the first gen configs and emulator and have about 20 of my most used scenes, devices and programs running perfectly on it. There has been some updates to my remote control system to allow Alexa to trigger macros. That said I now will want to add more to turn channels on the TV etc. I run a Win7 server so just trying to see how multiple instances work.

Link to comment

Hello all,

 

1. stusviews problem: if you have two portal modules installed, ISY will deactivate one. That was the issue

2. Digger, Benoit is working with us on the portal and Echo and can be considered part of the team. This is not a third party solution. We own everything

3. We have submitted our app for Connected Home certification but have not heard back

4. We are still waiting for Amazon to get back to us ... I'll send them another email

5. As it is currently, I would say that the whole solution is only usable for simple things. I am thinking that we should forego downloading all nodes/spoken and make a clean interface whereby only most important nodes/programs are downloaded

 

As Benoit suggested, the feedback has been fantastic and quite invaluable. Please do continue posting your experiences and bugs. So, THANK YOU.

 

With kind regards,

Michel

Link to comment

... I am thinking that we should forego downloading all nodes/spoken and make a clean interface whereby only most important nodes/programs are downloaded...

 

+1 !

 

Reviewing all the feedback, playing with my own installation at length, and reading up on the Amazon documentation on developing skills, I would agree that the "everything and anything" approach is just not compatible with the way Amazon has designed Echo/Alexa skills.

 

Even if it worked perfectly -- actually, *especially* if it worked perfectly -- I'm not comfortable with having *all* my nodes available.  There are a small few that would be very problematic for me if they were easily able to be turned off (in fact, I have watch-dog programs running that ensure that the "off" times for these devices is limited).

 

So I for one would be very happy with a solution that exposes only a set of nodes to Echo/Alexa.  Ideally, it would be excellent if the "spoken" field was the trigger for exposing a node (which would require that the "spoken" field be added to programs, etc).

 

In the future, it would be wonderful if we could "annotate" a spoken field with metacharacters that could limit/control the values -- for example, a trailing exclamation point might indicate that despite the device in question being a dimmer, the only permissible values are "on" and "off".  Something like "Counter%25" might indicate that the device is dimmable but only in steps of 25%.  And "Basement Stat *2" might indicate that the thermostat named requires the value to be multiplied by 2 (i.e. the thermostat takes settings in 1/2 degree increments).  My examples are sloppy and not consistent, but the point of this, when extended carefully, would be to move special cases out of the skill and into the control of the ISY user instead.

 

That's all "blue sky" -- for an initial release, I'd be perfectly happy if this was done by some external means to the ISY itself (so that we don't require modifying any ISY code).  Perhaps creating a mapping on the Portal would be easy.  Another suggestion, although horribly "hacky" might be to read the "spoken" field where it exists on devices, and look for a specially formatted comment in a program to find the "spoken" value for a program, at least until such time as the "spoken" field is added to programs.

 

Finally, if the skill's "learning" about device names is community-wide, rather than per-user, then it seems that we, as a community of users, should probably try to stick to some common names where practical.  Perhaps we start with the list of examples provided by Benoit earlier in this thread, and add to it common other names?  As a simple example, perhaps we would all get better results if we agreed upon "foyer floods" instead of a mish-mash of "foyer", "foyer spots", "foyer accent", "front foyer lights", etc, etc, etc.?

Link to comment

In the future, it would be wonderful if we could "annotate" a spoken field with metacharacters that could limit/control the values -- for example, a trailing exclamation point might indicate that despite the device in question being a dimmer, the only permissible values are "on" and "off".  Something like "Counter%25" might indicate that the device is dimmable but only in steps of 25%.  And "Basement Stat *2" might indicate that the thermostat named requires the value to be multiplied by 2 (i.e. the thermostat takes settings in 1/2 degree increments).  My examples are sloppy and not consistent, but the point of this, when extended carefully, would be to move special cases out of the skill and into the control of the ISY user instead.

 

Along those lines.. maybe expanding the device notes to include fields that would supplement the "spoken" field?

 

I'd like to see the spoken field used as a phrase similar to IFTTT method.

 

Jon...

Edited by jerlands
Link to comment

Michel, mwester,

 

I suggest you might want to take a serious look at the current version of the Hue Emulator (BWS Systems HA Bridge) and my Configuration program (AWS_Config). I believe it does just about all of the things you are looking for. The Configuration program acts as the link between the ISY and the Emulator, as the emulator in its raw form knows nothing about the ISY except its address.

 

The Configuration program acts as follows:

 

1) Reads the ISY to get all the information about Devices, Scenes, and Programs including the Notes/spoken fields for devices and scenes.

 

2) Provides a windows style drag and drop capability to select the nodes (devices, scene, programs) that is to be edited and then sent to the emulator as part of its (emulator) data base.

 

3) For each selected item it allows for the Spoken Field or the Device Name to be used to populate what I called the "Friendly Name". The friendly name is what is provided to the Echo for speech recognition purposes and may be edited to whatever the user desires. During the setup for the configuration system (a windows style ini file) the user can specify if the default friendly name is the spoken field or the device name.

 

4) It provides two default URLs (one for On, one for Off, with Dim capability in the On URL) for the Emulator to send to the ISY when this friendly name is recognized. It uses the Restful interface for all ISY communications properly setting up the User-id and password for authentication. Either of these URL's may be edited prior to sending them to the emulator. 

 

5) It allows for the Dim command for lights or the Set command for thermostats by having the emulator capture the number that is spoken in a DIM command or a SET command. It allows for the presence of a math formula to be included and executed by the emulator when the command is recognized. This formula is written as a function of "X" Where x is the number spoken. This allows for the case where a thermostat works in whole degrees or half degrees. It also allows for the spoken range to be 0-100 or 0-255 and the formula to do any necessary conversions.

 

6) It allows for the entry of a custom device where all the Emulator information (Friendly name and two URL's) are entered by the user. I use this to control my HA components that are not under ISY control (my Home theater under PC control, My pool under the control of an Autelis pool controller). It should be able to control a Global Cache system for the sending of IR commands under voice control, although I have not tried that yet. In my home all IR work is under the control of a PC connected to a Global Cache system to allow for much shorter messages to be sent (Component name, IR command Name). 

 

7) The entries on the Emulator can be edited at any time if things change.

 

I have been using this system for several months (development period) it is now quite stable and fairly popular among the ISY community. I have been using the same ISY configuration for at least a good month now.

 

Not of interest to the majority of the ISY community, it will also handle a Harmony Hub in the same manner as it handles the ISY populating the emulator as required. 

Edited by barrygordon
Link to comment

HuddaDudda,

 

I am pretty sure multiple emulators will work on Windows the same way they work on the RPi. Just start several of them during windows startup, each with a different port number, response port number, database name and log file name.

 

Why not get an RPi? About $40 gets you all the hardware you need and all the software is free. The long thread in this forum (the one that about 50+ pages)  has enough information to do it all.  Just requires a bit of time to read it all.

Link to comment

HuddaDudda,

 

I am pretty sure multiple emulators will work on Windows the same way they work on the RPi. Just start several of them during windows startup, each with a different port number, response port number, database name and log file name.

 

Why not get an RPi? About $40 gets you all the hardware you need and all the software is free. The long thread in this forum (the one that about 50+ pages) has enough information to do it all. Just requires a bit of time to read it all.

I will try it out and see how it all works on W7. I don't want to buy/config more hardware when I already am running a server 24/7. Plus I am a noob with PI and don't feel like learning anything new.

Link to comment

I'd like to second Barry's comments above that the existing emulator plus his bridge provides a quite reliable, configurable, and robust solution. 

 

It strikes me that what would really be nice is if we could get Amazon to broaden the vocabulary of their connected home built in skill and also generalize a bit the api they are using with the Hue, Insteon Hub, etc.  One could pretty easily define a general home control node api as a generalization of any of these and publish it to all as the way to allow additional folks to build home resident bridges.  This would eliminate any need for a skill living in the cloud, reduce the overhead on both Amazon and 3rd parties (UDI, Insteon, . . .) in supporting Echo integration, and generally create a well defined interface that the entire industry could probably use going forward.  If I were still at my old job I'd have opened discussions about this with all the players and try to create a forum for this (perhaps there is already one I'm not aware of).  We did this many times over the past few decades with great results (USB, Upnp, WiFi among the best known examples of it).  Right now without a standardized meeting point you get stuff that is too specific to either the speech engine (Echo versus Siri or Cortana or OK Google) or too specific to the home controller (UDI, Hue, . . .)

Link to comment

Hi mwester,

 

I agree with a configuration utility that only links devices and programs to nodes. As far as adding constraints, I think that would be a good idea too but not included in the spoken field but as a parameter.

 

Hi Bxsteez,

 

Is the profile ISY or MobiLinc Connect? Please note that the credentials are those for the portal. If you are still having problems, please do not hesitate to submit a ticket.

 

Hi Barry,

 

Thanks so very much for the offer. At the moment, though, we lack resources for setting up an RPi with emulator and, at the end, all has to be moved to the portal with a different programming environment (Node.js). Amazon requires a certificate for which the subject (or alternate subject) is that of the domain and verified. So, in the long run, having emulator locally will probably not work unless everyone gets a regular DNS name for his/her IP address with all that goes with DNS records and their administration. If they lax this constraint (or if you have managed to figure out how to do this) I would love to have a local solution and yours will be the ultimate since it already works and most probably we can include it in Polyglot.

 

Hi kck,

 

I totally agree. As a matter of fact, I was at IPSO meeting last week and we went through the same exact things alas with no results!

 

With kind regards,

Michel

Link to comment

Michel,

 

First to clarify things, I did not write the current HUE emulator. That was written by BWS Systems. My contribution was the configuration system which acts as the link between the HUE Emulator and the ISY. The actual Philips HUE Bridge/Hub was certified by Amazon for the connected home. The Configuration system is written in Visual Basic 6 and could be easily converted to vb.Net or any other language, or directly incorporated into the HUE Bridge.  After all it is only code.

 

My home has a non-permanent IP address assigned by my ISP. I use a DYNDNS service to keep my domain (I have a web server) publicly available to the WEB but I am not sure that is required in the use of an Echo.  No where does Amazon stipulate that to use an Echo you must have a permanent fixed IP address.

 

The Echo when it starts, connects to the Amazon cloud and I have no knowledge how it does that nor do I care. What I believe is key is that the "Connected Home" devices e.g. the WEMO system the Wink system, the Insteon hub must all handle uPnP and reside on the same LAN segment as the Echo. Interestingly enough the Philips HUE Hub is not listed in the Alexa app as a "Connected Home" device. It used to be.

 

The Echo does a uPnP discovery search when it starts and I have been told repeats that search periodically to find new "Connected Home" devices. When the Echo is requested to "Discover Devices" via the Alexa app, it does a uPnP search and then based upon what it gets back, requests a discovery of the devices controlled by that "Connected Home" device (individual items such as lights, switches, etc), once again using the uPnP/SOAP protocol.

 

From what I understand a "Connected Home" device e.g. the Phillips HUE or its emulator, never communicates with the Amazon cloud, only the Echo does; and only to send the spoken "Speech" and receive back the information parsed from that speech as text in a JSON format for the "Connected Home" device to process. 

 

The Hue Emulator was never certified by Amazon and Amazon does not "formally" know it exists, but it does work quite well.  I do not see why you could not package into the ISY the same code (in a language of your choosing) as exists in the HUE Bridge emulator which is written in Java. I do not know if that would need to be certified or if it would be a violation of some legal tenet. If one were to take an RPi running the HUE bridge emulation and slap a label on it that said "ISY Connected Home HUB"  . . . Essentially that is what HomeSeer did for their latest incarnation of the HomeSeer controller.

 

I wager that a significant portion of the ISY user community basically wants control of lights and that would be reasonably handled by the existing "Connected Home" device commands of Turn On; Turn Off; Set; and Dim. All other things done by an ISY and are not well adapted to those simple commands could be handled by an Alexa skill.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...