Jump to content

Amazon Echo and ISY


madmartian

Recommended Posts

Posted

I do wish they would expand the vocabulary in their API a bit.  Things like "open" and "close" e.g. for doors or "lock" and "unlock" for locks.  I'm sure there are some others.  Seems like Amazon wants to codify the way the class of HA things are controlled by Echo by limiting how much the adapter has to do and not requiring a full fledged skill, but to do that well will need a richer vocabulary in the underlying skill or folks will do their own skills anyway which will result in lots of nearly identical skills which seems to be what Amazon doesn't want.

Posted (edited)

Amazon has updated the Amazon Echo with some more new features today, this time bringing along support for Samsung's SmartThings, allowing you to control just about anything in your house with just your voice.

 

The update brings support for all SmartThings products, including the SmartThings Hub and SmartThings outlet, and getting set up seems fairly easy. Amazon says that once you've set your devices up in their respective apps, you simply say "Alexa, discover my appliances" to your Echo. From there, you can easily control different appliances in your house by talking to Alexa, with Amazon giving the following examples:

  • "Alexa, turn on the television."
  • "Alexa, turn on the stereo."
  • "Alexa, turn off the lamp."
  • "Alexa, turn on the porch light."

Also in this update are some new Skills for Alexa, which were previewed with an initial set in last weeks update. This week, you can enable Alexa's new Bingo and Cat Facts skills to get some game time in with the digital assistant and maybe learn some new fantastic feline facts.
 
http://www.androidcentral.com/amazon-echo-scores-support-smartthings-hardware?utm_source=ac&utm_medium=dlvrit

Edited by huddadudda
Posted

Amazon has updated the Amazon Echo with some more new features today, this time bringing along support for Samsung's SmartThings, allowing you to control just about anything in your house with just your voice.

 

The update brings support for all SmartThings products, including the SmartThings Hub and SmartThings outlet, and getting set up seems fairly easy. Amazon says that once you've set your devices up in their respective apps, you simply say "Alexa, discover my appliances" to your Echo. From there, you can easily control different appliances in your house by talking to Alexa, with Amazon giving the following examples:

  • "Alexa, turn on the television."
  • "Alexa, turn on the stereo."
  • "Alexa, turn off the lamp."
  • "Alexa, turn on the porch light."

Also in this update are some new Skills for Alexa, which were previewed with an initial set in last weeks update. This week, you can enable Alexa's new Bingo and Cat Facts skills to get some game time in with the digital assistant and maybe learn some new fantastic feline facts.

 

http://www.androidcentral.com/amazon-echo-scores-support-smartthings-hardware?utm_source=ac&utm_medium=dlvrit

 

Now we just need a SmartThings emulator!  :)

Posted

I am wondering where info about devices I selected to be discovered by echo is saved? E.g. After I run g1of4, or any other configurator, and selected devices I want to discover, where this info is stored? Is it in some local file on my computer running Java bridge? Is it somewhere where Java bridge jre file is? Is it possible to copy this file to another computer if I decide to change who runs the bridge? Thanks.

 

P.S. I guess I miss a critical piece of understanding how emulator, echo and configurator interact. E.,e, after I moved bridge to Synology station, I still used my Mac to run configurator, and echo recornized devices I selected. So during discovery computer running configurator should talk to both Echo and computer running bridge/emulator. I can then shutdown the Mac and everything still works. So it does not save device info on the computer where configurator was run??

Posted (edited)

Blueman is correct on the location of the emulator information

 

My ISY Proxy server status has gotten a little further.  

 

I incorporated the same capabilities as  the Mapper program with some improvements.

 

The proxy server now searches for the Hue emulators. It will find as many as you have and is able to do the same thing Mapper does for each of the emulators.  You select the emulator you wish to deal with from a drop down list the system makes.

 

I will put the search in for the ISY next week as it should be simple.

 

As of now if the proxy is running I can say things like:

 

"Alexia, turn off the kitchen lights".           The command gets executed very quickly and Alexia replies "Okay"

 

"Alexia, Tell Sarah to . . .  " and based on the utterances I have registered different things happen.  I do not yet have the code in but intents, launches and session endings are all handled by the proxy, and show in the proxy log and as cards in echo.  I just need to write the code to parse the utterances from Amazon and deal with the ISY. It is a little slower due to the extra step of getting the message from Alexia as opposed to alexia dealing through the emulator

 

Tomorrow I will set up another emulator on a second RPi. That should give me the capability to control between 50 and 60 devices (lights) I can currently control my Ceiling fans also with "Alexia, Turn on the office Fan medium". as it is a scene in my ISY994.

 

What I am interested in is how to tell Alexia to set a given light at a specified brightness. or to dim or brighten a light in lets say 20% steps. I know I can do it with scenes, but that quickly eats up the device count. If anyone knows . . . 

Edited by barrygordon
Posted

 

What I am interested in is how to tell Alexia to set a given light at a specified brightness. or to dim or brighten a light in lets say 20% steps. I know I can do it with scenes, but that quickly eats up the device count. If anyone knows . . . 

 

I don't think Alexa can manage dim/bright commands just yet.

 

What I'd really like is for the Echo to just pass spoken commands in text form back to my server via REST. I already have a pretty sophisticated PHP script that parses a large number of commands sent from Autovoice / Tasker to the server and I can easily manage the command structure that way (similar to the Alexa intents).

Posted

Alexa can dim lights or switch on at x percent with the hue lights. "Alexa dim kitchen lights 25 percent" or "Alexa turn on Kitchen lights 25 percent"

 

So the capability is there just needs to be included in the ISY interface when developesd

Posted (edited)

I HAVE ACHIEVED WAF=9/10!!  

 

My wife has NOT been a big fan of my obsession with Insteon and the ISY.  The All-On bug nearly drove her over the edge and she demanded to have every Insteon device removed.  But she hung in there.  Then I got the Echo.  That changed everything.  She now loves the insteon devices and the 'automated home'.  I have the Echo controlling not just lights, but commands like 'turn on air conditioner" and "turn on door chime" (turn on ELK chime when door/window opened) and "turn on house fan" (which turns on my AirScape 3.5e whole house fan, and provides feedback when she needs to open more windows to allow for proper air flow).  The Echo is working so well, she wants to add one for the bedroom to control things at night without getting out of bed.  And the alarm is much easier to set with Echo than our damn alarm clock.  

 

Never thought this day would come.  Now if we can add dimming and ability to pass variables (like 'turn on air conditioner to 74') then I think we might be flirting with the highly elusive 10/10 WAF.   

Edited by blueman2
Posted

I HAVE ACHIEVED WAF=9/10!!  

 

My wife has NOT been a big fan of my obsession with Insteon and the ISY.  The All-On bug nearly drove her over the edge and she demanded to have every Insteon device removed.  But she hung in there.  Then I got the Echo.  That changed everything.  She now loves the insteon devices and the 'automated home'.  I have the Echo controlling not just lights, but commands like 'turn on air conditioner" and "turn on door chime" (turn on ELK chime when door/window opened) and "turn on house fan" (which turns on my AirScape 3.5e whole house fan, and provides feedback when she needs to open more windows to allow for proper air flow).  The Echo is working so well, she wants to add one for the bedroom to control things at night without getting out of bed.  And the alarm is much easier to set with Echo than our damn alarm clock.  

 

Never thought this day would come.  Now if we can add dimming and ability to pass variables (like 'turn of air conditioner to 74') then I think we might be flirting with the highly elusive 10/10 WAF.   

 

Nice report with examples. Thanks!

Posted

v12 of the mapper was uploaded to the share tonight.  I think I caught the elusive bug that was happening with update and removal of devices.  No new features at this time.

Posted

Did anybody try to use echo to control ISY connected thermostats? What kind of command do you use?

 

I remember seeing here that it is not possible to pass numeric value of the temperature through echo. I would not want to do this anyway. I am wondering if it is possible to have an ISY scene that, when called through echo, would reduce or increase temperature by 1 degree.

Posted (edited)

Did anybody try to use echo to control ISY connected thermostats? What kind of command do you use?

 

I remember seeing here that it is not possible to pass numeric value of the temperature through echo. I would not want to do this anyway. I am wondering if it is possible to have an ISY scene that, when called through echo, would reduce or increase temperature by 1 degree.

 

 

I have a program to just turn on/off the AC and Heater.  It always uses the last temperature that was set for each, which is fine for us.  We always keep AC at 74 and HEATat 66.  Wife loves it!  

 

Have not tried the increase/decrease temp program yet.  It would require being able to set a variable for currently set temp.  Not sure that is doable in v4 of ISY that I am using.  Maybe in v5?  

Edited by blueman2
Posted

I have a program to just turn on/off the AC and Heater.  It always uses the last temperature that was set for each, which is fine for us.  We always keep AC at 74 and HEATat 66.  Wife loves it!  

 

Have not tried the increase/decrease temp program yet.  It would require being able to set a variable for currently set temp.  Not sure that is doable in v4 of ISY that I am using.  Maybe in v5?  

I thought possibly we could avoid sending temperature values by having scene or something that would just increase or decrease it by 1 degree from current. So, we could say, e.g.,  "turn on thermostat coller", where "thermostat coller" is the name of the scene that would reduce themperature by 1. That could be easily done with program but we cannot call programs from echo and I am not sure if scene may work for that. In any case, this would be more usuful for me than to request to set themperature to any specific number.

Posted

You can call programs from Echo - I do it now.  You just need the url for the on or off to be one that invokes a program.  My 2nd most used Echo call is to run a progam that gets the bathroom ready for a shower - makes sure the hot water recirc is running, turns on floor and towel heaters, lights if needed.  I walk into the house after a hot round of golf and tell Alexa to turn the bathroom on.  :-)

Posted

You can call programs from Echo - I do it now.  You just need the url for the on or off to be one that invokes a program.  My 2nd most used Echo call is to run a progam that gets the bathroom ready for a shower - makes sure the hot water recirc is running, turns on floor and towel heaters, lights if needed.  I walk into the house after a hot round of golf and tell Alexa to turn the bathroom on.  :-)

 

Great! Will try it tonight.

 

On a different note, you mentioned floor heating. I have it in my vacation house but it is controlled by standalone and not-smart floor thermostats. I am still looking what floor thermostats can be ISY compatible. What are you using?  

Posted

When we remodeled the bathroom and put in the floor heat the contractor wanted to put in a modern "smart" thermostat but I had him put in an old style simple temperature sensing one instead.  Then I wired an on/off switch into the electrical feed to that.  When a program or switch turns on that Insteon on/off the floor heat thermostat and system get power and all the thermostat does is keep the floor from overheating by turning off the floor heat if it hits the temperature set on the dial.  Very simple setup.  I did the same thing with the towel heat feed so it too can be turned on/off via program.  I have ISY timers in programs that start whenever one of these heat systems is switched on to limit the total time that they stay on so we don't have to remember to turn them off.

Posted

You can call programs from Echo - I do it now.  You just need the url for the on or off to be one that invokes a program.  My 2nd most used Echo call is to run a progam that gets the bathroom ready for a shower - makes sure the hot water recirc is running, turns on floor and towel heaters, lights if needed.  I walk into the house after a hot round of golf and tell Alexa to turn the bathroom on.  :-)

 

I tried to make echo to control ISY program but I realized that I do not know how to get URL. Configurator requires to enter device address but I do not know how to get it for the program. Any help, please, how to proceed?? Thanks!

Posted (edited)

In the ISY administrator go to the summary page for programs. The column labeled ID is the address of the program you are looking for. Doesn't Mapper set the URL correctly with the Program's ID?

Edited by barrygordon
Posted

I guess it is status update time for my ISY Proxy server. 

 

The proxy server now includes a complete configurator for the Hue Bridge. It is similar in design to "Mapper" but is quite different visually. The proxy will automatically do a uPnP search to get the IP address of the ISY and all the addresses for HUE emulators that are on your network.search  You can easily select on which emulator you wish to have a device placed.  When you pick a device to add, it checks all the emulators it has found and warns you if the device already exists on one of them.  It also includes a listen module for an Alexa skill and a listen module for the emulator(s).

 

The listen module for the Alexa skill assumes you have written and registered an Alexa skill to an HTTPS endpoint and are running a HTTPS proxy such as stunnel to handle all the SSL encryption and decryption. stunnel handles all the incoming HTTPS traffic, including the submission of a CA,  and forwards that traffic to the ISY proxy as HTTP commands. What the skill does all depends on what intents and utterances you have set up in the skill you wrote.

 

The listen module for the emulators allows one to set up a URL on a Hue bridge that calls back to the listen module where code can be added to handle various cases. Eventually I plan to make it such that plugins can be added to the executable which can be written in VBA or something similar. I am not sure where I am going with that.  As a minimum I will be able to handle things like "Alexa, turn on/off the SPA". "Alexa, turn on the Theater" (The theater needs a WOL  as I keep it asleep, but once awake will respond to HTTP REST commands).  I am not sure how Alexa will operate when the Theater is playing as the ambient noise will be quite high. 

 

I have ordered a Samsung SnartThings hub to play around with it when it is released next month.

 

Lastly, I now have a microSD image for a Raspberry Pi 2. The image contains the lest version of NOOBS with Raspian as the installed OS. It has a tightvnc server so it can be run headless using a PC or MAC that is running the tightvnc viewer which is exactly how I deal with it. It contains the Hue Emulator set up so that a uPnP search will find it. In theory you just image the file onto a microSD card using win32diskimager or something similar insert the card into the Pi and let it boot up.

 

If anyone is interested in either of these two items drop me an eMail. If there is enough interest I will put it up for download on my web site, but I need to write a little documentation. The Proxy will work perfectly fine without the Alexa Skill and reverts to just being a configurator for the Hue emulators. The Proxy is written in VB6 (I know, I will eventually port it to VB.net and Node.js) and I run it on a Win 7 machine.  I have a Win 10 system and will try it on there eventually.

Posted

In the ISY administrator go to the summary page for programs. The column labeled ID is the address of the program you are looking for. Doesn't Mapper set the URL correctly with the Program's ID?

Thanks! Found ID and it seems to be working fine with echo.

Posted

I have run into a minor snag and perhaps someone with more Linux smarts than I have can help me.

 

I have the Hue emulator running on a RPi, in fact I have 2 of them so running but only have loaded data into one of them. To ensure the emulator is running on a reboot of the RPi I added the following into the RC.local full that is run every time the system starts up (as instructed in the excellent installation doc referenced in post 1 of this thread.

 

  nohup java -jar < full path address of the jar> --upnp.config.address=192.168.1.81 > /dev/null 2>&1 & which works.

 

If I do a ps -ef | grep java I get the correct line displayed which shows the correct IP address.

 

Now I would like to get the startup entry above to be IP address independent so if for example the DHCP address changes it will adjust to that at next reboot.  I changed the --upnp.config.address=192.168.1.81 (that is the address of the RPi) to 

--upnp.config.address="$_IP" where "#_IP"  as shown by a prior line in the script (printf "My IP address is %s\n" "$_IP" to be the machines current IP address.  If I then do a ps -ef | grep java I get the same line as before. HOWEVER the Echo no longer seems to find the emulator and reports zero devices discovered. My Proxy app finds all of the emulators, and retrieves there data no matter which version of the jar startup line I use.

 

It is not a serious issue as I can just use a DHCP reservation and the hard coded address, but it bothers me why it doesn't work

 

Any thoughts or explanations would be appreciated.  My goal is to make an SD image that I can share and that requires no work, or at least a minimal amount of work to finalize on a RPi. The image appears to be working and includes the tinyvncserver so all the work can be done using a PC and the RPi run headless.

 

Any assistance/advice greatly appreciated.

Posted (edited)

I just set this up today. In case anyone else is interested, I used files that have been updated since the first post. I need to make some tweaks, but it works well, so far . . .

 

Windows 8.1 (64-bit) HTPC

 

Hue Emulator 0.2.1

https://github.com/armzilla/amazon-echo-ha-bridge/releases

 

Echo Mapper/Configurator v12 

https://onedrive.live.com/?cid=cfa7f709af4ff827&id=CFA7F709AF4FF827%21219246&ithint=folder,zip&authkey=!ACiou3KQ_rNhltQ

Edited by auger66

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...