Announcement

Collapse
No announcement yet.

Amazon Echo support with v3.0.5.3 and HS3.0.0.258 (or newer)

Collapse
This topic is closed.
X
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Amazon Echo support with v3.0.5.3 and HS3.0.0.258 (or newer)

    3.0.5.3 promoted to main updater so mentions of BETA below are no longer needed - 7/24/2016

    HS3.0.0.258 (or newer)

    http://homeseer.com/amazon-echo-integration.html

    I have uploaded a new version 3.0.5.3 (see the updater BETA section at bottom) which includes several changes that help this plugin better support the Amazon Echo and voice control. This requires the latest HS3.0.0.258 (or newer) and most of the changes are around HS3 virtual device creation. Existing devices are not automatically upgraded so as to avoid disrupting installations that do not care about Amazon Echo and wish to keep using their already defined devices. Many of the settings to the HS3 virtual devices can be done manually with your current devices without going through the upgrade so carefully consider if you wish to test this latest version. NOTE! Recreating devices will affect defined events so you may want to start with the manual changes below before considering a plugin upgrade.

    Please NOTE, this is not an Amazon Echo support forum. This is mainly for specifics around this plugins upgrade path and issues you may encounter. There are other dedicated Amazon Echo forums for general items about Skill and API use.

    If you prefer not to upgrade and instead remain on the current public release, then some of the adjustments that can be made to your existing HS3 Thermostat and HVAC devices after you complete an HS3 upgrade to 3.0.0.258 (or newer) are:

    * Click into each device and verify Voice Control is checked
    * Click into Heat and Cool Setpoint devices, Status Graphics tab, change "Status-Control" to "both" then set Control Type to "Drop List" and Control Use correctly as Heat Setpoint or Cool Setpoint
    * Click into Mode devices and set the Control Use to "Thermostat Heat" (or Cool, Auto, etc.) <- this may not "stick" but isn't an issue with this plugin
    * Suggest carefully picking the Floor, Room and Name combination so a unique path to each thermostat and HVAC device is made. Duplicate paths will likely fail when voice recognition is attempted coming in from the Echo.
    * Suggest simplifying the device names to single words. This plugin is now using: Program, Mode, Fan, Cooling, Heating, Temperature, External, Humidity, Maintenance and the only two-word option "Pause Program" These were chosen to avoid conflicts with the command options like Cool, Heat and Hold. They were also chosen to better improve the voice recognition results (e.g. Temperature worked better than just Temp)


    This can now be found in the Updater at the bottom with BETA UPDATES. This works the same as the regular updater but you are pulling down a newer BETA version of the plugin.


    Once this is installed you initially may not see much difference as it won't recreate devices that already exist. You can experiment by deleting an HS3 device and stop/starting the plugin to have it recreate it. If you delete the parent device (Thermostat Program or HVAC Mode) then all devices for that thermostat/HVAC will be deleted and need recreated via a stop/start of the plugin (or delete/add on the Config page). Again note, deleting devices affects events that may have those devices used in them.

    Note that all new HS3.0.0.258 (or newer) virtual devices created will already have Voice Control checkbox checked. The plugin now issues a startup info message for devices that appear to not have this checkbox set.

    You can now use the PLUG-INS->Insteon Thermostat->Insteon Thermostat Config->Thermostats/HVAC pages to adjust the Floor or Room for ALL the devices associated to a given thermostat/HVAC. Be sure to click SAVE when done.

    You can now use the PLUG-INS->Insteon Thermostat->Insteon Thermostat Config->Programs page to set a different value for "None" so that you can use voice control to turn a program back off. "None" wasn't working for me as it always came in from the Echo as "nine" I change mine to "Off" now and it works well.

    Please reply back here if you encounter issues

    Thanks
    Nathan
    Last edited by nfrobertson; July 25, 2016, 08:35 AM. Reason: 3.0.5.3 - now via BETA UPDATES
    HS 3.0.0.435 (PRO)
    Hardware: Napco GEM-P9600 | VenstarT1800 w/Insteon 2441V adapter | Insteon PLM
    Plugins HS3: Napco Gemini (mine) | Insteon Thermostat (mine) | Insteon Plug-in (mnsandler) | HSTouch Server (HST)
    Platform: Windows 10 Pro 64bit, core2 duo 2.0Ghz, 4GB memory
    http://www.kazteel.com/

    #2
    I just added the Amazon Echo API method to my setup. On my production machine I have two thermostats and am running plugin 3.0.5.0. Alexa discovered 6 devices: heat and cool setpoints and the fan for both thermostats. I then ran some tests.

    This worked via the API: Alexa turn the living room fan on

    This had problems via the API: Alexa turn the living room fan auto

    So I fell back to the Skill method which worked: Alexa tell homeseer to turn the living room fan to auto

    Much more testing to do. The Skill method seems to work pretty well and didn't require the device discovery. The API method only found the 6 devices and is having varying levels of success.

    Nathan
    HS 3.0.0.435 (PRO)
    Hardware: Napco GEM-P9600 | VenstarT1800 w/Insteon 2441V adapter | Insteon PLM
    Plugins HS3: Napco Gemini (mine) | Insteon Thermostat (mine) | Insteon Plug-in (mnsandler) | HSTouch Server (HST)
    Platform: Windows 10 Pro 64bit, core2 duo 2.0Ghz, 4GB memory
    http://www.kazteel.com/

    Comment


      #3
      I went through a clean re-install of all my test system thermostats keeping in mind that voice control needs to be able to distinguish between them. I used to call my VENSTAR T1700 simply "t1700" but that might be a mouthful for Alexa to understand so on this clean re-install called it "venstar" I had to do the same with my wired 2441th (now just "wired") and my 2441th HeatPump (now just "pump") and my 2441zth wireless thermostats (now "attic" and "freezer")

      After doing this, HS3 warned that I had many duplicate voice recognition paths which I infact did since I left the Floor/Room as "Insteon Thermostats" for all of them and now they all have simplified names which conflict (Mode, Fan, Cooling, etc.) The easiest fix for this was to use the Config page to change the Floor and Room of all devices for each of these thermostats. Now I have paths that look like below. I'm not saying these will all work perfectly but I'm trying to describe the planning that has to be considered to adjust what you may have previously called something to now something that can work with the Echo.

      garage monitor (mode,fan,cooling,heating,humidity,temperature)
      main living room (mode,fan,cooling,heating,humidity,temperature)
      basement climate (mode,fan,cooling,heating,humidity,temperature)
      attic monitor (mode,fan,cooling,heating,humidity,temperature)
      freezermonitor (mode,fan,cooling,heating,humidity,temperature)

      another scheme I'm looking at is using Floor="thermostat" Room=the name of the thermostat and then the device names. So, something like this:

      thermostat pump (mode,fan,cooling,heating,humidity,temperature)
      thermostat venstar (mode,fan,cooling,heating,humidity,temperature)
      thermostat wired (mode,fan,cooling,heating,humidity,temperature)
      thermostat attic (mode,fan,cooling,heating,humidity,temperature)
      thermostat freezer (mode,fan,cooling,heating,humidity,temperature)

      I also haven't yet looked at how this simplification of device names may affect HSTouch which is why this is still an "updater override" install method. I will do more testing and look forward to hearing your thoughts on this.

      Nathan
      Last edited by nfrobertson; April 3, 2016, 01:40 PM.
      HS 3.0.0.435 (PRO)
      Hardware: Napco GEM-P9600 | VenstarT1800 w/Insteon 2441V adapter | Insteon PLM
      Plugins HS3: Napco Gemini (mine) | Insteon Thermostat (mine) | Insteon Plug-in (mnsandler) | HSTouch Server (HST)
      Platform: Windows 10 Pro 64bit, core2 duo 2.0Ghz, 4GB memory
      http://www.kazteel.com/

      Comment


        #4
        Echo API adjustments with version 3.0.6.2

        The Echo API only allows for the Thermostat root device to be discovered and added to the Alexa app. HS3 has to make determinations about what to do based on what command was spoken to the Echo. HS3 does this by looking at the relationships with parent(root) / child (heat/cool setpoints and mode) and at the HS3 virtual devices that have Control Use set correctly. Plugin version 3.0.6.2 fixes a bug where Control Use could be lost on the MODE device which appears to have broken HS3's ability to translate between Amazon and this plugin. You can manually fix this issue yourself by looking at an existing MODE device, status graphics tab, and making sure the HEAT, COOL, AUTO have Control Use set to Thermostat Heat, Thermostat Cool and Thermostat Auto respectively.

        You may also wish to adjust the virtual device name of the root thermostat device. In the past this has usually been called "Program" which correlates to the controls (program selection) present on it. Giving it a name that works better in a sentence like "thermostat" will allow better control via the Echo.

        Be sure to use the Alexa app or website and forget then discover your devices after making changes to them in HS3.

        Now you should be able to use the Echo API to control your thermostat with phrases like:

        Alexa, turn the thermostat down

        Alexa, turn the thermostat up

        See this thread and post for a bit more detail: https://forums.homeseer.com/showpost...24&postcount=5
        HS 3.0.0.435 (PRO)
        Hardware: Napco GEM-P9600 | VenstarT1800 w/Insteon 2441V adapter | Insteon PLM
        Plugins HS3: Napco Gemini (mine) | Insteon Thermostat (mine) | Insteon Plug-in (mnsandler) | HSTouch Server (HST)
        Platform: Windows 10 Pro 64bit, core2 duo 2.0Ghz, 4GB memory
        http://www.kazteel.com/

        Comment


          #5
          Originally posted by nfrobertson View Post
          Echo API adjustments with version 3.0.6.2

          The Echo API only allows for the Thermostat root device to be discovered and added to the Alexa app. HS3 has to make determinations about what to do based on what command was spoken to the Echo. HS3 does this by looking at the relationships with parent(root) / child (heat/cool setpoints and mode) and at the HS3 virtual devices that have Control Use set correctly. Plugin version 3.0.6.2 fixes a bug where Control Use could be lost on the MODE device which appears to have broken HS3's ability to translate between Amazon and this plugin. You can manually fix this issue yourself by looking at an existing MODE device, status graphics tab, and making sure the HEAT, COOL, AUTO have Control Use set to Thermostat Heat, Thermostat Cool and Thermostat Auto respectively.

          You may also wish to adjust the virtual device name of the root thermostat device. In the past this has usually been called "Program" which correlates to the controls (program selection) present on it. Giving it a name that works better in a sentence like "thermostat" will allow better control via the Echo.

          Be sure to use the Alexa app or website and forget then discover your devices after making changes to them in HS3.

          Now you should be able to use the Echo API to control your thermostat with phrases like:

          Alexa, turn the thermostat down

          Alexa, turn the thermostat up

          See this thread and post for a bit more detail: https://forums.homeseer.com/showpost...24&postcount=5
          Do you have a complete command list for Alexa-control of the thermostat? So far I have used

          [Raise|Increase] [Temperature|Thermostat 1] n degrees.
          [Lower|Decrease] [Temperature|Thermostat 1] n degrees.
          Set [(the)Temperature|Thermostat 1] to n degrees.

          Is that it? (Not being critical, in fact it's pretty loosey goosey with the syntax, which is good, I would just like to know if there are more functions available, like set mode, turn it off, etc.)


          Jim Speiser
          38-year veteran of Home Automation
          Still don't know squat

          Comment


            #6
            Hi JimSpy,

            I'm sorry, didn't mean to ignore your original question here. The syntax was/is fairly limited based on the Homeseer Skill and Thermostat API. At least that was the state of development in 2017. I haven't looked at this more since getting it working in 2016 and the minor fix in 2017. Also worth noting this is an HS3 plugin answer. I haven't looked into HS4 to see if the state of that development would yield a more robust interaction or not.
            HS 3.0.0.435 (PRO)
            Hardware: Napco GEM-P9600 | VenstarT1800 w/Insteon 2441V adapter | Insteon PLM
            Plugins HS3: Napco Gemini (mine) | Insteon Thermostat (mine) | Insteon Plug-in (mnsandler) | HSTouch Server (HST)
            Platform: Windows 10 Pro 64bit, core2 duo 2.0Ghz, 4GB memory
            http://www.kazteel.com/

            Comment


              #7
              Originally posted by nfrobertson View Post
              Hi JimSpy,

              I'm sorry, didn't mean to ignore your original question here. The syntax was/is fairly limited based on the Homeseer Skill and Thermostat API. At least that was the state of development in 2017. I haven't looked at this more since getting it working in 2016 and the minor fix in 2017. Also worth noting this is an HS3 plugin answer. I haven't looked into HS4 to see if the state of that development would yield a more robust interaction or not.
              Well, shiver me timbers, he's alive! In your absence, my Echo/Alexa has seemingly "learned" more thermostat-connected behaviors. For example I can say "Set thermostat mode to [heat/cool/auto/off]." Thus I have decided to compile my own lexicon of commands, at least for this household. I've also created routines that do IFTTT calls, via the "Trigger" keyword. The IFTTT applets in turn call HS3 events that turn the temperature up and down. This method seems to be more reliable for some reason.

              But I did wonder whether she can query the current temperature or setpoints?

              I have so many other questions, like, were you abducted, are they friendly, what do they want with us....just kidding. I'll hold those in abeyance.

              PS: HS4 is not a factor at this time, nor for the foreseeable future.

              Thanks!


              Jim Speiser
              38-year veteran of Home Automation
              Still don't know squat

              Comment


                #8
                Well my "day job" keeps me busy and pays all the bills so it gets the time/attention thus my absence.

                The Alexa API is really driven by the Homeseer skill and how it interacts with virtual devices marked with the Homeseer Thermostat API device types and voice control checkbox. There isn't specific programming in my plugin to implement Alexa support. I read back through my posts above and they pretty much cover everything I'm aware of. If and when I look into HS4 I'm sure I will circle back to Alexa control and see if things have changed/improved.
                HS 3.0.0.435 (PRO)
                Hardware: Napco GEM-P9600 | VenstarT1800 w/Insteon 2441V adapter | Insteon PLM
                Plugins HS3: Napco Gemini (mine) | Insteon Thermostat (mine) | Insteon Plug-in (mnsandler) | HSTouch Server (HST)
                Platform: Windows 10 Pro 64bit, core2 duo 2.0Ghz, 4GB memory
                http://www.kazteel.com/

                Comment


                  #9
                  Originally posted by nfrobertson View Post
                  Well my "day job" keeps me busy and pays all the bills so it gets the time/attention thus my absence.

                  The Alexa API is really driven by the Homeseer skill and how it interacts with virtual devices marked with the Homeseer Thermostat API device types and voice control checkbox. There isn't specific programming in my plugin to implement Alexa support. I read back through my posts above and they pretty much cover everything I'm aware of. If and when I look into HS4 I'm sure I will circle back to Alexa control and see if things have changed/improved.
                  Please don't take my caustic sense of humor as any kind of criticism. You programmers are heroes to me, and if I sometimes assume that you have no life beyond the computer keyboard, that's my problem. Keep calm and carry on.


                  Jim Speiser
                  38-year veteran of Home Automation
                  Still don't know squat

                  Comment


                    #10


                    I'm looking into what it might take to port this to HS4 and eventually maybe look at the HS mobile app. Part of that will be seeing what if any improvements have been made with Alexa support.

                    If you have a set of Alexa questions feel free to post them and I can see what my testing shows.

                    Nathan
                    HS 3.0.0.435 (PRO)
                    Hardware: Napco GEM-P9600 | VenstarT1800 w/Insteon 2441V adapter | Insteon PLM
                    Plugins HS3: Napco Gemini (mine) | Insteon Thermostat (mine) | Insteon Plug-in (mnsandler) | HSTouch Server (HST)
                    Platform: Windows 10 Pro 64bit, core2 duo 2.0Ghz, 4GB memory
                    http://www.kazteel.com/

                    Comment


                      #11
                      Originally posted by nfrobertson View Post


                      I'm looking into what it might take to port this to HS4 and eventually maybe look at the HS mobile app. Part of that will be seeing what if any improvements have been made with Alexa support.

                      If you have a set of Alexa questions feel free to post them and I can see what my testing shows.

                      Nathan
                      The main, and perhaps only, question I have is, does the PI have the ability to respond to a temperature query, in such a way as to pass the value to Alexa who can then announce it? Like, "Alexa, what is the current thermostat temperature?" Perhaps the same for humidity? GETs instead of SETs? That's about it. The only other problem I'm having is that she seems to store your last raise/lower command internally, PER UNIT, and therefore if my wife says "raise thermostat 2 degrees" and I say "raise thermostat 1 degree" FROM A DIFFERENT ECHO UNIT she will actually lower it one degree. Or something like that. But I don't think that's in your wheelhouse.


                      Jim Speiser
                      38-year veteran of Home Automation
                      Still don't know squat

                      Comment

                      Working...
                      X