Jump to content

Being notified when thermostat setpoint is changed locally


ISYhbsh01

Recommended Posts

Hi,

 

It seems that unlike all other insteon devices, when using the "if control" condition with the Venstar thermostats it will be triggered even when the change is not done manually at the thermostat. Is there a way to make a program to get a notification whenever someone makes a change manually at the thermostat?

 

Sent from my SPH-D710 using Tapatalk 2

Link to comment

Hi Michel,

 

Control (i.e. if Control ...) ... the program is evaluated every time someone physically does something to the device

 

That's the way it is with all Insteon devices. However, with the thermostats, when selecting “if control†I only get the “is/is not†“on/off†choices, (Which is not something that can be directly done locally. The only thing one can do locally is changing the setpoint or change the mode, none of which is available when using “if controlâ€), I don't get a choice of any changes in the setpoint (Which is what someone can change locally at the device, no one can actually force cool on at the device), and when the a/c goes on because the temperature in the room is higher than the setpoint the program is triggered. The main thermostat node is not even in the drop down list when using “if controlâ€.

 

As a test I tried again the following program:

 

If
       Control '14.67.0A - Cool Control' is switched On

Then
       Send Notification to 'isy99@'

Else
  - No Actions - (To add one, press 'Action')

 

I then lowered the setpoint using the admin console so that the a/c should go on, and sure enough I got a notification.

 

Am I missing something?

Link to comment
Is there a way to make a program to get a notification whenever someone makes a change manually at the thermostat?

Hi hbsh01,

 

We cannot detect manual changes at the thermostat (such as setpoint up/down for example), therefore there is currently no way of doing that.

 

A Control condition is based on an event originating from the device either manually (e.g. a button press on a KPL) or automatically (e.g calling for cool/heat)

Link to comment

Hi Chris,

 

We cannot detect manual changes at the thermostat (such as setpoint up/down for example), therefore there is currently no way of doing that. 

When someone changes the setpoint manually at the thermostat the ISY obviously detects it & shows the change immediately, so shouldn't it be possible for the ISY to use it in a program somehow?

 

Thanks again.

Link to comment
Hi Chris,

 

When someone changes the setpoint manually at the thermostat the ISY obviously detects it & shows the change immediately, so shouldn't it be possible for the ISY to use it in a program somehow?

 

Thanks again.

Hi hbsh01,

 

You are correct in that it reports the setpoint status when it changes, but this is unlike buttons for example that send an actual command to a remote device (such as Fast On) when the button is pressed.

 

If we set up heat/cool setpoint as a control, the condition would be true regardless of how that setpoint was changed (manually, or through a scene, or through a program, etc.). We may be able to isolate it some cases, but I'm not sure that we can reliably detect if the setpoint was changed manually at the thermostat or not.

Link to comment

If Status versus If Control is very different. Using

 

If Control 'xxxx' is switched On

 

will trigger the Program only when an On command is received and it will trigger each time the On command is received. If the On paddle is pressed two times in a row the Program is triggered twice. Some folks use this to perform different actions. That is, when two On commands occur in a row within a particular time frame. Using

 

If Status 'xxxx' is On

 

will trigger the Program only when the Status changes. If the On paddle is pressed two times in a row the Program is triggered only once when the Status changes from Off to On. There is no "change" in Status for an On to On situation. Also, with the Program being triggered when the Status changes allows the Then clause to be used when the Status changes to On and the Else clause when the Status changes to something other than On.

 

The UDI Wiki has some good information about stuff like this.

Link to comment

"is there really any difference between using status & control when the condition is "if on/off"?"

 

Sorry, I did not see the relationship to an If Control/If Status for On/Off versus the numeric value change of a set point value for the thermostat. My mistake.

 

EDIT: note that how a Program works with an If Control versus If Status is the same regardless of the device type. The underlying characteristics of If Control and If Status do not change because it is a thermostat.

Link to comment

hbsh01

 

The following two messages are the thermostat reporting the Cool Set Point. Except for the difference in Set Point Value the messages are identical. The last message was the result of pressing the Set Point button on the thermostat. The first message reflecting a new Cool Set Point was NOT the result of pressing the Set Point button on the thermostat. There is nothing in the Set Point message which indicates how the Set Point was established.

 

Fri 07/13/2012 01:56:20 PM : [iNST-SRX ] 02 50 1D.6C.D6 19.70.06 01 71 56 (56)

 

Fri 07/13/2012 01:58:23 PM : [iNST-SRX ] 02 50 1D.6C.D6 19.70.06 01 71 57 (57)

 

It is not a matter of If Control working differently, the thermostat does not have the same command set other Insteon devices have that If Control is based on.

Link to comment

The inherent differences between If Control and If Status exist regardless of the type of device. If the device can send On, On, On then there is much difference between If Control and If Status. You need to be specific about what event is being discussed when comparing the possible differences between If Control and If Status results. Also If Control triggers only on command flow from the device. If Status can trigger on command flow from the device as well as a Scene initiated change.

Link to comment

A bit of a hack, but the ISY programming language constraints sometimes encourage that... ,)

 

Create a variable say "Thermostat_Manual_Control " and set it to 0 init at 0

 

In your programs when you change the thermostat set the variable to 1 before your work and reset it to 0 after your work. Then in the programs you want to respond to a manual thermostat change use 'if Thermostat_Manual_Control is 0' AND state THERMOSTAT...

 

That should let you (reasonably) filter manual vs automatic commands. There is always some risk of a direct collision (you changing state while someone touches the control unit) but you would have had that collision anyhow...

Link to comment

Archived

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


×
×
  • Create New...