Feature request: user settings

cornutt

Active Member
I've been trying to do a few things with user settings in the OPII, but every time I try, I run into limitations of how they can be used which makes them not able to do what I want with them. Here are three things I'd like to do:

1. Reference a user setting in a condition. Currently, it doesn't appear that user settings can be used in a condition at all -- I don't see that option in the PC Access pop-up menu when I create a condition.

2. Trigger on the value of a user setting which is configured as a number or a level.

3. Trigger on the value of a user setting which is configured as a time, using "before" and "after" clauses, in the same manner as you can use SUNRISE and SUNSET. For example, if I have a user setting called "Arrive At Home Time", I want to be able to write a trigger like: "TIMED 30 MINUTES BEFORE Arrive At Home Time MTWTFSS"

If there's already a way to do these things, someone jump in and tell me what I missed. I'm running the latest stuff -- 3.2D firmware and PC Access 3.2.0.543.
 
#1 - I agree with you....do not find in PCaccess
#2 - I think I may have seen numbers used like you want but I do not recall how it was done. I will do some digging to see if I was my imagination
#3 - Since you are using a user setting anyway, why not create a user setting that you can trigger on without the before/after condition. Create a user setting called "30 munties before I arrive home"
 
#3 - Since you are using a user setting anyway, why not create a user setting that you can trigger on without the before/after condition. Create a user setting called "30 munties before I arrive home"

Well, one reason is WAF. However, another reason is that the lead time depends on daytime conditions. Specifically, depending on the mid-afternoon outside temperature, I want to set the evening thermostat setpoints between 30 and 90 minutes before the arrive-home time. I don't want to have to call the system from work every day to tell it how far ahead of time to set the thermostats -- if I have to do that, it's hardly worth the trouble of automating it.
 
You can use User Settings just about any place where a value of similar type is used. By similar type I mean a date value can be replaced with a User Setting of type Date, a temperature can be replaced with a User Setting of type Temperature.

All user settings of the appropriate type will automatically appear in the selector as an option. For example in a temperature condition the Temperature Setting Type can be a Specific Value (i.e. 75), Temperature Device Property (i.e. Outdoor Temp Current Value), or a User Setting of type Temperature. If you have no Temperature type User Settings you will only see the first 2 options in the list. If you have 5 Temperature type they will all be listed below the first two options.

NOTE: You must have 3.x firmware and PC Access to use User Settings. Also "One Time" timed events are a special case that can not use User Settings.

As far as triggers, you don't directly trigger on a data value except for times and dates. You can use user settings in a Time trigger for the time, date or day of week:
e.g. TIMED Work Wakeup Time MTWTF--

For triggers like temperature, you set a setpoint to a user setting value and when the setpoint is violated it generates a trigger. What I am trying to say is you can't say when it is 75 in the living room do something, but you can set the high setpoint of a temperature zone to 75 and when the temperature goes above the setpoint it will generate a WHEN Living Room NOT READY event.

You can also use the EVERY event/trigger to periodically check values.
e.g. EVERY 1 MINUTE
AND IF Living Room CURRENT TEMPERATURE IS GREATER THAN My USer Setting
THEN do something...

You can use User Settings in conditions in just about any place where a value of similar type is used.
e.g. AND IF My Flag CURRENT VALUE IS EQUAL TO User Setting Number

For actions you can do pretty much the same thing as conditions. The User Setting Action mentioned in a previous post is used to set a user setting.
e.g. WHEN Sleep Late Button
THEN SET Wakeup Time TO 10:00 AM

The main intent behind User Settings was to give the User a way to change a programmed time, date, temperature, etc. without having to modify the program.
Example: I have a "Go To Bed" button that puts the house in what I call night mode. One of the things it does is the the AC temperature to a specific value. Prior to User Settings when I (my wife) wanted to change the "Sleep Temperature" I had to modify the program and write it to the controller. Not a big deal, but certainly much harder than walking to the console and pressing Setup > User Settings > Sleep Temp > Change and entering a new value.

I came up with this quick solution for your "before you get home" problem.

134. // Set thermostat setpoint at variable time before I get home based on outside temperature.
//
// Assuming I get home at 5:00 PM every day.
//
// If the outside temperature is below 40, start heating 90 minutes early.
//
// If the outside temperature is below 50, start heating 60 minutes early.
//
// If the outside temperature is below 60, start heating 30 minutes early.
135. TIMED 3:30 PM MTWTF--
AND IF AutoHeatCool (RC-2000) HEAT SETPOINT IS NOT EQUAL TO User Setting Temperature
AND IF zOutdoor Temp CURRENT READING IS LESS THAN 40
THEN AutoHeatCool (RC-2000) HEAT SETPOINT User Setting Temperature
136. TIMED 4:00 PM MTWTF--
AND IF AutoHeatCool (RC-2000) HEAT SETPOINT IS NOT EQUAL TO User Setting Temperature
AND IF zOutdoor Temp CURRENT READING IS LESS THAN 50
THEN AutoHeatCool (RC-2000) HEAT SETPOINT User Setting Temperature
137. TIMED 4:30 PM MTWTF--
AND IF AutoHeatCool (RC-2000) HEAT SETPOINT IS NOT EQUAL TO User Setting Temperature
AND IF zOutdoor Temp CURRENT READING IS LESS THAN 60
THEN AutoHeatCool (RC-2000) HEAT SETPOINT User Setting Temperature

This or something like it may be useful, or it might at least get you thinking of ways to achieve your goal.

User settings are a very powerful tool that gives the user a simple way make changes on the fly changes. They can also be use to simplify many programming tasks.
 
Fred,

I believe the OP is looking to use the User Setting as a conditional.

Example:

AND IF USER SETTING 1 is XXXXXXX
 
Back
Top