====== Basic Thermostat Control ====== Thermostats generally share some common functions: - Heat Setpoint - the temperature at which the heating function of the HVAC system turns on. - Cool Setpoint - the temperature at which the cooling function of the HVAC system turns on. - Mode - usually one of: Off, Cool, Heat, Auto - Fan Mode - usually either Always On or Auto On Newer thermostats often also have a program mode - they can store programming so that they can automatically change settings depending on time of day, day of week, etc. For basic operations, we'll assume that Indigo will be performing this function. ==== Scenario #1 ==== Tom has 1 thermostat, and he wants to have temps set multiple times during the day: Morning, Day, Evening, Night. Each of these will be a separate [[td_action_basics|Time/Date Action]]. For this scenario, we assume that you've already defined your thermostat in Indigo. The [[wiki:How-to level of difficulty]] is [[wiki:How-to level of difficulty#simple|Simple]]. Here's how he'd create them: - Make sure ''**TIME/DATE ACTIONS**'' (or one of it's subfolders) is selected in the outline view on the left side of the main window - Click on the ''**New...**'' button above the t/d action list - Give this t/d action a name: he's gonna use "Morning House Adjustment" - Set the ''** Time:**'' at which this t/d action will fire: Tom sets this to 6:30am because that's about 30 minutes before he gets up in the morning. - Set the ''** Date:**'' for which this t/d action will fire: for this scenario, Tom wants it to go off every day, so he selects "Every 1 days" - So, Tom's now defined when this action is going to fire. For this example, we'll skip the ''**Condition**'' tab, so click on the **''Actions''** tab - On the ''**Type:**'' popup control, select ''**Control Thermostat**'' - On the ''**Action:**'' popup control, select ''**Set Heat Setpoint**'' - On the ''**Device:**'' popup control, select the name of your thermostat - In the ''**To:**'' text field, type your desired Heat Setpoint: Tom likes it warm in the morning, so he sets it to 74 - OK, so, now we've set the Heat setpoint - but what if its summer? We also need to set the cool setpoint. We should also make sure the mode is set to "auto" so that it'll do the right thing regardless of the previous setting. Click the ''**Add New**'' button on the lower-left side of the screen. This will create another action for this t/d action to execute (when you do, you'll notice the text ''**action 2 of 2**'' in the middle at the bottom of the window - this let's you know that you have 2 actions for this t/d action) - On the ''**Type:**'' popup control, select ''**Control Thermostat**'' - On the ''**Action:**'' popup control, select ''**Set Cool Setpoint**'' - On the ''**Device:**'' popup control, select the name of your thermostat - In the ''**To:**'' text field, type your desired Heat Setpoint: Tom likes it warm in the morning, so he sets it to 76 - Now, we have both set points set correctly, now we want to make sure that the mode is set to "Auto", so if someone turns the unit off, it will still follow the schedule. Again, Click the ''**Add New**'' button. - On the ''**Type:**'' popup control, select ''**Control Thermostat**'' - On the ''**Action:**'' popup control, select ''**Set Mode**'' - On the ''**Device:**'' popup control, select the name of your thermostat - On the ''**Mode:**'' popup control, select ''**Auto Heat/Cool**'' - Click the ''**OK**'' button to save the changes \\ OK, so now at 6:30am, the thermostat will change it's settings to adjust the house temperature so that it's between 74 and 76 degrees fahrenheit. Tom likes a pretty specific range of temps in the morning. However, during the day, when nobody is home, he wants to save energy, so the settings for Day are much more liberal. Repeat the steps above with the following differences: - Set the name of the t/d action to "Day House Adjustment" - Set the time of the t/d action to 9:00am since everyone is gone to work and school by that time every date in Tom's house - Set the heat setpoint to 65 - Set the cool setpoint to 80 \\ Now, at 9:00am, the thermostat will change it's settings to adjust the house temperature so that it's between 65 and 80. This should save some money in the long run. Now, he wants to make sure the house is at a livable temperature when everyone starts coming home for the evening. Repeat the steps above with the following differences: - Set the name of the t/d action to "Evening House Adjustment" - Set the time of the t/d action to 4:30pm - the first person usually arrives home around 5:00 every day at Tom's house - Set the heat setpoint to 72 - Set the cool setpoint to 76 \\ The house will be nice and ready for everyone to come home and enjoy the evening. Finally, he wants to save some money at night - but, nobody in his family likes to sleep in a hot house. Repeat the steps above with the following differences: - Set the name of the t/d action to "Night House Adjustment" - Set the time of the t/d action to 11:30pm - Tom's family is usually in bed by this time - Set the heat setpoint to 68 - Set the cool setpoint to 76 \\ That's it. By using t/d actions, Tom now has a house that smartly adjusts temperatures for various parts of the day, which will save money in the long run. But, you know, there is one thing that's a bit of a problem for Tom: he wants the daytime temperature to be set differently if it's a weekend day (Saturday or Sunday). ==== Scenario #1a ==== So, Tom has all of the t/d actions created in scenario 1, but he wants different behavior during the day if it's Saturday or Sunday. There are several ways of doing this: have 2 different Day t/d actions, use AppleScript as the action, etc. To keep this as simple as we can, we'll go with the former. What we'll do is to alter the current "Day House Adjustment" to only work on weekdays, and create a new one that works only on weekend days. The [[wiki:How-to level of difficulty]] is [[wiki:How-to level of difficulty#simple|Simple]]. - Open the edit dialog for the t/d action named "Day House Adjustment" by double-clicking it in the t/d action list or by selecting it and clicking the ''**Edit...**'' button. - Change the name to "Weekday House Adjustment" - Click the radio button beside ''**Days of week**'' in the ''**Date:**'' section - By default, all days will be selected (all will be dark). Click on ''**Su**'' and ''**Sa**'' to unselect them - Click the ''**OK**'' button to save the changes \\ Now, this t/d action will only execute on weekdays. Next, let's create one that will execute on weekend days. - Select the t/d action you just edited, "Weekday House Adjustment", in the t/d action list, and click the ''**Duplicate**'' button - A new t/d action will appear titled "Weekday House Adjustment copy". Double-click this t/d action to open the edit dialog - Change the name to "Weekend Day House Adjustment" - In the ''**Date:**'' section, unselect all the currently selected days and select ''**Su**'' and ''**Sa**''. - Switch to the ''**Action**'' tab and change the heat setpoint to 70 and the cool setpoint to 78 - to do this, click on the ''**Actions**'' tab - you'll see a list of the actions, just double click on the "set heat setpoint" line to change that; when you've changed the temperature value, click on the ''**Show All**'' button to see the list again \\ Great! Now, Tom's family will be more comfortable when they're home on the weekends. ====== ====== As you can see, there is a lot of flexibility in Indigo to control your environment. Earlier, we named the t/d actions "XXX House Adjustment". This was intentional, because we might want to do something else when the day transitions are made. [[inst_keypadlinc_buttons#scenario_3_-_keeping_a_button_in_sync_with_itunes_playstate|This How-To]] discusses using variable change triggers to do some interesting things.