Jump to content

Need Beta Testers for Smart Home API v2


Michel Kohanim

Recommended Posts

Hello all,

 

I am happy to announce that our Echo Smart Home V2 API was approved. We would sincerely appreciate some beta testers!

 

WARNING

Once you move to V2, you can no longer go back to V1

 

Instructions

1. Login to the Echo app

2. Click on the Smart Home menu item on the left navigation bar

3. Unlink ISY Optimized for Smart Home

4. Click on Get More Smart Home Skills

5. Search for ISY

6. Click the Enable button next to ISY Optimized for Smart Home V2

7. Click on the Smart Home menu item on the left navigation bar again make sure ISY Optimized for Smart Home V2 shows up under Your Smart Home Skills

8. Click on Forget all devices and groups

9. Click on Discover Devices. This will bring in all the devices you have created a mapping for in your ISY Portal

 

 

Thermostat Operations

There are 3 basic commands that you can do with a thermostat:

"Set [device] temperature to [##] degrees."

"[increase / decrease] the [device] temperature."

"Turn off [device]"

 

Depending on the current mode, here's what happens when you set the temperature:

- If the thermostat is already in Heat or Cool, it will simply adjust the corresponding setpoint.

- If the thermostat is in Auto mode, it will adjust the appropriate setpoint in order to reach the desired temperature.

- If the thermostat is set to off, it will adjust itself to heat or cool, and adjust the corresponding setpoint in order to reach the desired temperature.

 

Multiple ISYs under the same Account

- The device discovery works only with the preferred ISY. So, if you want to control devices from 2 ISYs, you have to set the preferred ISY to the first ISY, run a device discovery, change the preferred ISY to the second ISY, then discover again.

- Then, all devices from the 2 ISYs will be available in the echo app.

- Please note that in the echo app, the devices from the first ISY will be shown as "offline". You can ignore this, the device will work. This just means that this particular device was not reported by the last device discovery, which is normal due to the fact that the device discovery works only with one ISY at a time.

 

 

Thanks in advance.

 

With kind regards,

Michel

Link to comment

Michel,

I wasn't sure if you wanted feedback here or someplace else, but I was guessing here?

First off, it works!  I can finally control my Tstats!  I removed the programs that I had from the portal (in the Echo config), and added the two tstats in the portal.  The Echo discovered them and works.  The only thing that doesn't work is "[increase / decrease] the [device] temperature."  When I try that it tells me that I can only set the temp from 32 to 104.  I don't think this is a big deal for me, but since I believe it is supposed to work, I thought I would mention it.

Link to comment

Hello all,

 

If you have a bug to report, in addition to a description to the problem, please add the following information in this thread:

- What thermostat it is (Brand/model)

- If the thermostat is set to Celcius or Fahrenheit

- If the echo app is set to Metric or not (In the echo app, look for Settings / <user>'s echo / Metric measurements)

- When you experienced the problem (date/time and your timezone)

 

Please do not expect a quick response from me as I'm leaving tonight for vacations (I know, certification timing is not great).

 

Thanks,

 

Benoit.

Link to comment

Michel,

I wasn't sure if you wanted feedback here or someplace else, but I was guessing here?

First off, it works!  I can finally control my Tstats!  I removed the programs that I had from the portal (in the Echo config), and added the two tstats in the portal.  The Echo discovered them and works.  The only thing that doesn't work is "[increase / decrease] the [device] temperature."  When I try that it tells me that I can only set the temp from 32 to 104.  I don't think this is a big deal for me, but since I believe it is supposed to work, I thought I would mention it.

 

Hi Smileyw,

 

I saw the problem in the logs. 

 

Please PM me:

- The brand/model of your thermostat

- The output of: http://<your_isy_ip>/rest/nodes/2C%20B%2059%201

- What mode the thermostat was in when the request failed.

 

For your information, the increment/decrement is based on information gathered from the thermostat. For example, if you want to "increase temperature", then the target temp will be the current mode's setpoint +1. On the other hand, if the mode was off, then the target temp will be based on the current temperature +1 (not current mode's setpoint +1).

 

Please do not expect a quick resonse from me as I'm preparing to leave for vacations tonight. But when I return, the above information will help me find what's going on. This one looks like a bug.

 

Thanks,

 

Benoit.

Link to comment

Upgraded to v2 easily. Thanks!

 

My stat was set to auto mode, currently cooling to 74F with the house measuring 74F.

 

I asked Alexa to 'Set thermostat temperature to 75 degrees', and Alexa understood perfectly according to the history.

 

The ISY changed the thermostat mode to 'HEAT' and the setpoint to 75 - causing the furnace to come on! Oops...

 

Alexa metric is off.

 

The thermostat is a Trane TZEMT400BB3NX.

Link to comment

Upgraded to v2 easily. Thanks!

 

My stat was set to auto mode, currently cooling to 74F with the house measuring 74F.

 

I asked Alexa to 'Set thermostat temperature to 75 degrees', and Alexa understood perfectly according to the history.

 

The ISY changed the thermostat mode to 'HEAT' and the setpoint to 75 - causing the furnace to come on! Oops...

 

Alexa metric is off.

 

The thermostat is a Trane TZEMT400BB3NX.

 

Hello Michael,

 

Are you sure the thermostat mode was initially set to Auto and was changed? It should not. When already in Auto mode, it should stay in Auto mode and only adjust one of the setpoint. The only situation where the mode is changed is when the thermostat mode is initially off and you request a temperature change; the mode will be set to heat or cool, depending on the target temp vs current temp.

 

If in Auto, it should have set the heat setpoint to 75. 

 

If it was set to Off, then that would match what you saw.

 

Benoit.

Link to comment

FYI, here's the complete algorithm:

 

A. Turn Off thermostat.
That one is simple: I just set the mode to Off.
 
B. Set temperature to X
If mode is Heat: I set the heat setpoint to X
If mode is Cool: I set the cool setpoint to X
If mode is Auto
  - If current temp is above X, I set cool setpoint at X
  - else, I set heat setpoint to X
If mode is Off
  - If current temp is above X, I set to cool at X
  - else, I set to heat at X
 
C. Increase temperature by X
If mode is Heat: Increase heat setpoint by X
If mode is Cool: Increase cool setpoint by X
If mode is Off: Set to heat at current temp plus X
If mode is Auto
  - If current temp <= current heat setpoint: Increase heat setpoint by X
  - If current temp >= current cool setpoint: Increase cool setpoint by X
  - If current temp is between cool SP and heat SP:  Increase heat setpoint by X
 
D. Decrease temperature by X
If mode is Heat: Decrease heat setpoint by X
If mode is Cool: Decrease cool setpoint by X
If mode is Off: I set to cool at current temp minus X
If mode is Auto
  - If current temp <= current heat setpoint: Decrease heat setpoint by X
  - If current temp >= current cool setpoint: Decrease cool setpoint by X
  - If current temp is between cool SP and heat SP: Decrease cool setpoint by X
 

Benoit.

Link to comment

Hello Michael,

 

Are you sure the thermostat mode was initially set to Auto and was changed? It should not. When already in Auto mode, it should stay in Auto mode and only adjust one of the setpoint. The only situation where the mode is changed is when the thermostat mode is initially off and you request a temperature change; the mode will be set to heat or cool, depending on the target temp vs current temp.

 

If in Auto, it should have set the heat setpoint to 75.

 

If it was set to Off, then that would match what you saw.

 

Benoit.

It was auto, setpoint 74, current temp 74.

 

It's hot outside, so the system is either cooling or in standby at the moment. I wanted to increase the cooling setpoint to 75 - not the heat setpoint!

 

I think by asking for 75, and 75 being greater than 74, it changed the mode to heat and set the heat setpoint. Not what was intended at all....

 

Michael.

Link to comment

 

 

Ifmode is Auto[/size][/font]

- If current temp is above X, I set cool setpoint at X

- else, I set heat setpoint to X

....

Benoit.

I think that's the problem. I wanted to increase the cooling setpoint above the current ambient temperature..... a pretty common operation in my house, in the never ending battle of the AC.

Link to comment

I think (when in Auto), you need to pay attention to the recent ambient outside temperature to decide if heat or cool setpoint needs adjusting. It was 82 outside when I did this - it made no sense to change to heat mode - but that's what the algorithm demands.

 

The heat setpoint was 68.

The cool setpoint was 74.

The mode was auto.

The ambient inside was 74.

I asked for 75.....

 

How about adding this logic?

If increasing the heat setpoint to the requested temperature is higher than the current cool setpoint - then change the cool setpoint instead.

 

Also, don't change the mode. Leave it auto....

 

What if it's currently 70 in the house (70 heat setpoint) and cold outside, and I want to reduce the heat setpoint to 68? The algorithm fails then as well... The AC would go on, possibly damaging the compressor. This needs another check... In mode 'Auto' - you need to factors both the current heat and cool setpoint - not just the cool one.

 

Michael.

Link to comment

It was auto, setpoint 74, current temp 74.

 

It's hot outside, so the system is either cooling or in standby at the moment. I wanted to increase the cooling setpoint to 75 - not the heat setpoint!

 

I think by asking for 75, and 75 being greater than 74, it changed the mode to heat and set the heat setpoint. Not what was intended at all....

 

Michael.

 

Hi Michael,

 

I traced your set temperature request in the logs. From what I see, the mode was indeed Auto, and it was left to Auto. Only the heat setpoint was changed to 75, which caused the thermostat to start heating. I believe you saw your thermostat indicating that it was now heating (as opposed to switching the mode to Heat, which is a different thing).

 

Benoit.

Link to comment

I think (when in Auto), you need to pay attention to the recent ambient outside temperature to decide if heat or cool setpoint needs adjusting. It was 82 outside when I did this - it made no sense to change to heat mode - but that's what the algorithm demands.

 

The heat setpoint was 68.

The cool setpoint was 74.

The mode was auto.

The ambient inside was 74.

I asked for 75.....

 

How about adding this logic?

If increasing the heat setpoint to the requested temperature is higher than the current cool setpoint - then change the cool setpoint instead.

 

That would work in your current scenario.

 

But what if it's 72 outside at the end of summer? You may never be able to reach the intended temperature of 75 if we change the cool setpoint instead of the heat setpoint.

 

The way it is designed, when in Auto, it tries to reach the intended temperature ASAP.

 

If you want to adjust only AC during summer, then it's probably best to just set the thermostat to A/C. Alexa will only change the cool setpoint.

 

Benoit

Link to comment

That would work in your current scenario.

 

But what if it's 72 outside at the end of summer? You may never be able to reach the intended temperature of 75 if we change the cool setpoint instead of the heat setpoint.

 

The way it is designed, when in Auto, it tries to reach the intended temperature ASAP.

 

If you want to adjust only AC during summer, then it's probably best to just set the thermostat to A/C. Alexa will only change the cool setpoint.

 

Benoit

 

Benoit,

 

You said:

If mode is Auto  - If current temp is above X, I set cool setpoint at X  - else, I set heat setpoint to X
What if it's cold outside, the stat is in 'Auto' currently 70 in the house (70 heat setpoint), and I want to reduce the heat setpoint to 68?

 

Under this algorithm, the cool setpoint would be set to 68, and the A/C compressor would come on - likely damaging the compressor!

 

This is a real problem that needs solving - or else if the stat is in 'Auto' mode an error should occur. There is risk of actual damage here.

 

You probably shouldn't be trying to get to the target temp 'as quickly as possible'. If it's warm outside, and we want an increase - we simply need to cool less - not apply heat!

If it's cold outside, and we are asking for less heat - we shouldn't be using the A/C - we should be heating less.

 

Like I said - the algorithm needs recent external temperature to make a correct choice. Or - look at the last operation the stat was doing (was it last cooling or heating?).

 

Michael.

Link to comment

- the algorithm needs recent external temperature to make a correct choice. Or - look at the last operation the stat was doing (was it last cooling or heating?

 

 

Not all ISY compatible thermostats the external temperature temperature, so the first option is limited. I wrote some programs that run based on the last state, so I fully agree that it matters.

 

Also, I'd like to be able to just turn on heating or cooling the whatever the setpoint happens to be.

Link to comment

Not all ISY compatible thermostats the external temperature temperature, so the first option is limited. I wrote some programs that run based on the last state, so I fully agree that it matters.

 

Also, I'd like to be able to just turn on heating or cooling the whatever the setpoint happens to be.

Agreed.

 

Maybe ISY simply needs to keep track of the last stat operation (when in Auto mode). Was it heating or cooling last time it was calling for anything? That's the setpoint to adjust.....

Link to comment

Hello all,

 

Benoit and I went over this a few times before agreeing on the algorithm. Personally, I think Amazon should add Cool/Heat temperature to the vernacular. The fact that either ISY or Portal must figure out which set point to change is surely to cause strange occurrences.

 

With kind regards,

Michel

Link to comment

Can someone explain to me why they use the *Auto* mode in their TSTAT and how do they expect it to operate? Also, if its summer vs winter time would it not make more sense to leave the TSTAT in AC / Heat mode?

 

I ask because based on the above replies and the observed behavior I see nothing but trouble brewing here. In a round about way this would be like the NEST fiasco that plagued tens of millions of people due to a poorly unannounced OTA update. I can only imagine the finger pointing and legal suites ready to be filed if the system ever cut off the AC / Heat in both extremes when required.

 

More people have died from heat / cold environments in this time period than many other causes per year. I know people like their home automation but at some point these silly frills are going to cause serious harm.

 

Maybe I am out of touch with the current trend?

Link to comment

Sure. In Colorado the temperature can change 60 degrees in a matter of hours.

 

It can go for 90° at 3pm to 30° at 10pm.

 

 

 

Best regards,

Gary Funk

 

So what do you expect to happen if the TSTAT was left in the *Auto* mode?

Link to comment

I can't tell you what anyone else would expect - but my 'stat also has "AUTO" mode, and what I expect (and what it does) is that when in AUTO it maintains the temperature within a pair of setpoints, turning on the heat or A/C as appropriate to do so.

 

I think the key here is the setpoints -- WHICH one are you asking Alexa to change when you tell it you want the temp to be set to 75 -- are you adjusting the LOWER setpoint upwards (which would turn on the heat!) or adjusting the UPPER setpoint upwards?  Methinks that the vocabulary for Alexa is going to have to be adjusted so as to make that clear - and Alexa needs to refuse to act unless the intent is, in fact, completely unambiguous and clear.  But that's just an opinion -- and as a matter of principle, I don't let my HA adjust my thermostats, because the amount of damage possible if something goes wrong with that is just way out of proportion to the benefit, at least at this latitude in the winter.

Link to comment

Archived

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


×
×
  • Create New...