Plugin thermostat questions and a request

Forum rules

This is a legacy forum which is locked for new topics. New topics should be started in one of the other forums under Extending Indigo

Posted on
Fri Nov 30, 2012 5:22 pm
berkinet offline
User avatar
Posts: 3298
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Plugin thermostat questions and a request

The question: Is there a guide (map) to the Indigo Thermostat UI? In particular I am interested in how Fan Mode is set. I see these states in the thermostat device:
Code: Select all
     hvacFanMode : 1 (integer)
     hvacFanMode.ui : always on (string)
     hvacFanModeIsAlwaysOn : true (bool)
     hvacFanModeIsAuto : false (bool)
     hvacOperationMode : 1 (integer)
     hvacOperationMode.ui : heat on (string)
     hvacOperationModeIsAuto : false (bool)
     hvacOperationModeIsCool : false (bool)
     hvacOperationModeIsHeat : true (bool)
     hvacOperationModeIsOff : false (bool)
     hvacOperationModeIsProgramAuto : false (bool)
     hvacOperationModeIsProgramCool : false (bool)
     hvacOperationModeIsProgramHeat : false (bool)


I assume hvacFanMode.ui sets the UI fan Mode display value, but, the actual values or enumerations to send are not obvious.

A request: Could we have the option to hide certain UI elements. For example, in a heat only system there is no point displaying the cool setpoint or cool mode button.

Thanks

Posted on
Fri Nov 30, 2012 6:06 pm
berkinet offline
User avatar
Posts: 3298
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Re: Plugin thermostat questions and a request

I found the IOM thermostat docs so I think, for now, my question is answered. But, the request is still "out there"

Posted on
Mon Dec 03, 2012 11:01 am
matt (support) offline
Site Admin
User avatar
Posts: 21429
Joined: Jan 27, 2003
Location: Texas

Re: Plugin thermostat questions and a request

berkinet wrote:
A request: Could we have the option to hide certain UI elements. For example, in a heat only system there is no point displaying the cool setpoint or cool mode button.


Yep, on my list as well especially as we look at starting to add more thermostats (like Z-Wave) to Indigo. Not sure when it will get implemented, but we definitely do need to add finer control over what UI is shown/enabled for more complex devices like thermostats (both in the Indigo client and Indigo Touch).

Image

Posted on
Sat Dec 15, 2012 4:37 pm
berkinet offline
User avatar
Posts: 3298
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Re: Plugin thermostat questions and a request

Ok... I have been playing with this for a while and I am still largely confused :roll:

I am trying to map the operational states of the Proliphix thermostats onto the Indigo thermostat device UI. I have picked a limited subset of states as follows:
set mode: Auto, heat, cool, off
current mode: heat, cool off
current state: On, Off

So, if the tstat is set for auto, and it is hot outside I might have: Auto, cool, On

Simply from a UI standpoint (I.e. not that I can actually do this), If I could highlight one the four buttons, that could indicate the set mode.
buttons.png
buttons.png (10.55 KiB) Viewed 2610 times
Then, I could display the current mode and the current state in the Current Mode text field.

I have figured out the following enumerations for hvacOperationMode
    0 = All Off
    1 = Heat On
    2 = Cool On
    3 = Auto On
    4 = Program Heat On
    5 = Program Cool On
    6 = Program Auto On

But, I don't see how to control the mode (heat cool, etc.) and the state (on off) independently.

Probably this is a feature request. But, on the chance I am just missing is there a way to do any of what I have noted above?

Posted on
Sat Dec 15, 2012 5:22 pm
jay (support) offline
Site Admin
User avatar
Posts: 18265
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Plugin thermostat questions and a request

So, the proliphix thermostats allow you to set the mode to "heat" and separately turn it on? Doesn't that cause the heat to run forever? Didn't think there were any thermostats that did that...

The Venstar adaptor and the INSTEON Thermostat (and the RTCoA CT-50) allow you to set the mode and then the unit will come on and off given the setpoints in conjunction with the mode. The only thing the user can directly control is the mode (well, and the fan). Turning it OFF means turning everything off - turning ON doesn't have a meaning in and of itself. You turn the mode to one of the non-OFF modes and the thermostat does the rest.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Sat Dec 15, 2012 5:35 pm
berkinet offline
User avatar
Posts: 3298
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Re: Plugin thermostat questions and a request

jay (support) wrote:
So, the proliphix thermostats allow you to set the mode to "heat" and separately turn it on?...
No, that would be a serious problem. In that sense, the Proliphix thermostats are like the Venstar and others you noted.

What I want to do is display the state of the heater/AC unit (well, actually the state of the contacts in the thermostat). So, as the thermostat cycles the heater on and off I can see that state in the Indigo UI. This is, as you note, read only.

As I view this there are three levels of control:
  1. What modes I allow the thermostat to select on its own: Off, heat, cool or choose between heat and cool.
  2. What mode it is currently in (heat, cool or off)
  3. and Whether the heater/AC is actually on or off at the moment

I have device states to track these values for the Proliphix devices and can display them on a control page. But, it would be nice to make this all visible in the UI.

Posted on
Sat Dec 15, 2012 6:39 pm
matt (support) offline
Site Admin
User avatar
Posts: 21429
Joined: Jan 27, 2003
Location: Texas

Re: Plugin thermostat questions and a request

berkinet wrote:
What I want to do is display the state of the heater/AC unit (well, actually the state of the contacts in the thermostat). So, as the thermostat cycles the heater on and off I can see that state in the Indigo UI. This is, as you note, read only.


See the example thermostat plugin in the SDK. You need to set the plugin property ShowCoolHeatEquipmentStateUI on the device, then you use these states to set if the compressor or furnaces are on: hvacCoolerIsOn, hvacHeaterIsOn

Note that doesn't show the operational state in the main Indigo client State column, but does show the operational state in the Indigo Touch UI as a blue and red dot in the popup UI. We might some day show the operational state in other UI as well, but don't try to override what is shown in the state column (which always shows the thermostat mode) since that will potentially break when we make changes.

Image

Posted on
Sat Dec 15, 2012 7:04 pm
berkinet offline
User avatar
Posts: 3298
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Re: Plugin thermostat questions and a request

Thanks. I guess I need to download the SDK again :oops: Is the info you posted for Indigo 5, or 6?

In 5.1.6 I added the state as a boolean and then do:
    prDevice.updateStateOnServer(key="hvacHeaterIsOn", value=False)

But, nothing in the UI changes. I still see Current Mode: Heat On

Here are the relevant device values:
Code: Select all
coolIsOn : False
fanIsOn : False
fanMode : AlwaysOn
folderId : 1062697007
globalProps : MetaProps : (dict)
     com.berkinet.ProliphixControl : (dict)
          NumHumidityInputs : 0 (string)
          NumTemperatureInputs : 1 (string)
          ShowCoolHeatEquipmentStateUI : false (bool)
          simpleSeparator1 :  (string)
          tstatAddress : 192.168.4.163 (string)
          tstatModel : NT20e (string)
          tstatPass : admin (string)
          tstatPort : 80 (string)
          tstatUser : admin (string)
heatIsOn : False
hvacMode : Heat
states : States : (dict)
     hvacCoolerIsOn : false (bool)
     hvacFanMode : 1 (integer)
     hvacFanMode.ui : always on (string)
     hvacFanModeIsAlwaysOn : true (bool)
     hvacFanModeIsAuto : false (bool)
     hvacHeaterIsOn : false (bool)
     hvacOperationMode : 1 (integer)
     hvacOperationMode.ui : heat on (string)
     hvacOperationModeIsAuto : false (bool)
     hvacOperationModeIsCool : false (bool)
     hvacOperationModeIsHeat : true (bool)
     hvacOperationModeIsOff : false (bool)
     hvacOperationModeIsProgramAuto : false (bool)
     hvacOperationModeIsProgramCool : false (bool)
     hvacOperationModeIsProgramHeat : false (bool)
 

Posted on
Sat Dec 15, 2012 7:12 pm
berkinet offline
User avatar
Posts: 3298
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Re: Plugin thermostat questions and a request

Got it. A little slow this time of year. I see the update in the touch-UI now. So, can I enter a feature request to either show the state in the Mac UI like it does in the touch-ii? Actually, All i'd need is the ability to split the mode display into two parts and I noted below.

Thanks again. I'm reading the SDK now.

Posted on
Sat Dec 15, 2012 8:16 pm
matt (support) offline
Site Admin
User avatar
Posts: 21429
Joined: Jan 27, 2003
Location: Texas

Re: Plugin thermostat questions and a request

berkinet wrote:
So, can I enter a feature request to either show the state in the Mac UI like it does in the touch-ii? Actually, All i'd need is the ability to split the mode display into two parts and I noted below.


When you select the thermostat device it does show it as the red/blue dots (to the left of the cool/heat setpoint labels). We'll consider adding it to the State column as well, but not sure when that will happen.

Image

Posted on
Sat Dec 15, 2012 11:17 pm
berkinet offline
User avatar
Posts: 3298
Joined: Nov 18, 2008
Location: Berkeley, CA, USA & Mougins, France

Re: Plugin thermostat questions and a request

Ok. I've got it working. Thanks.

A few comments:
I don't really need the furnace state display in the state column, though I can see how it would be analogous to an on/off state for a relay device.

I guess it is historical, or Venstar-centric. But, I still do not get the "on" (Like, Heat on, Cool on...) in the Current Mode : enumerations. It seems like Heat, cool, program heat, etc. are sufficient.

FWIW, I like the way the Current Mode select and Fan Mode select buttons in the touch-UI do double duty and indicate the current mode. I'd vote for copying that in the Indigo UI as well (if there ever is an election).

The Refresh All UI button is a bit misleading if there is more than one thermostat. It seems to suggest it wil refresh ALL thermostats rather than all values for the selected thermostat.

A question:
Does the state dot (State column in the UI) mean anything? I assume it is always yellow... at least until you decide to have it display the furnace state.

A request:
In some distant future release it "would be nice" to have "user defined" UI elements. For example a user defined button could let me do things like.
in Devices.xml: <SpareButton name="Hold" defaultState="False" calls="buttonPressHandler" />
and then in the plugin I could do things like:
indigo.thermostat.button["Hold"](Device.id, state=True)
I guess there would have to be UI space reserved and some limit. But still...

Posted on
Sun Dec 16, 2012 8:56 am
matt (support) offline
Site Admin
User avatar
Posts: 21429
Joined: Jan 27, 2003
Location: Texas

Re: Plugin thermostat questions and a request

berkinet wrote:
I guess it is historical, or Venstar-centric. But, I still do not get the "on" (Like, Heat on, Cool on...) in the Current Mode : enumerations. It seems like Heat, cool, program heat, etc. are sufficient.

Agreed. The "on" part is a bit confusing since it doesn't really mean the equipment is on but rather the mode is activated.

berkinet wrote:
Does the state dot (State column in the UI) mean anything? I assume it is always yellow... at least until you decide to have it display the furnace state.

It isn't very useful. It is off (gray) if the mode is set to off, and yellow otherwise.

berkinet wrote:
In some distant future release it "would be nice" to have "user defined" UI elements. For example a user defined button could let me do things like...

Yes. Having a way for plugins to specify Indigo Touch and Web UI is high on our wish list (for both custom plugin devices and overridden devices like the thermostat). I'm not sure when we'll get to it and we want to make sure that what we provide is a good long term solution, but it is something we definitely want to see in Indigo.

Image

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 2 guests