smithlevenson Posted May 6, 2022 Posted May 6, 2022 I am trying to create a program for my HVAC where after running for an hour, it turns off the cooling for 15 minutes and runs just the Fan. Then I want it to return to normal operation. If 'Upstairs / Master / Upstairs Thermostat - Cool Ct' is switched On Then Wait 1 hour Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode On Wait 15 minutes Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Cool Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode Auto Else - No Actions - (To add one, press 'Action') Does that IF Condition "Control" trigger every time cooling is called for or only when you set the mode to cooling initially? Should it be "Status" instead.
MrBill Posted May 6, 2022 Posted May 6, 2022 5 minutes ago, smithlevenson said: Does that IF Condition "Control" trigger every time cooling is called for or only when you set the mode to cooling initially? You might want to mention which thermostat you're using. I would assume you would want status in this case, in case the HVAC only runs 45 minutes and the thermostat becomes satisfied. As written this will not stop if the Air cuts itself off during the hour. You also probably want use Repeat in case the thermostat is never satisfied.
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 2 minutes ago, MrBill said: You might want to mention which thermostat you're using. Oops, sorry. I have the Insteon 2441TH
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 3 minutes ago, MrBill said: I would assume you would want status in this case, in case the HVAC only runs 45 minutes and the thermostat becomes satisfied. As written this will not stop if the Air cuts itself off during the hour. You also probably want use Repeat in case the thermostat is never satisfied. So, for clarification, you are saying that as written, if it runs for 45 minutes it would still do the IF even if it's not needed? And "Status" would only do it if it stayed active for 1 hr? I am not sure I get the Repeat part. Sorry, not sure why Insteon logic confuses me sometimes (probably switching from Python logic, to Excel logic, to Insteon logic). Thanks for the assistance. You are always so helpful.
Solution MrBill Posted May 6, 2022 Solution Posted May 6, 2022 18 minutes ago, smithlevenson said: So, for clarification, you are saying that as written, if it runs for 45 minutes it would still do the IF even if it's not needed? And "Status" would only do it if it stayed active for 1 hr? Correct. "Control" would only see the ON event and not the status change. With "Status" if the status changes to false the THEN block would stop running and the (blank) ELSE block would start running. 18 minutes ago, smithlevenson said: I am not sure I get the Repeat part. Let's pretend its a super hot day. The temp in the room rises, the air kicks on, this starts the one hour wait. The hour expires, the remaining parts of the program run.... the Then block is now over... it won't repeat it again. You need a repeat, so that it does this every hour until it's stopped by a change to the Status. If 'Upstairs / Master / Upstairs Thermostat - Cool Ct' is On Then Wait 1 hour Repeat Every 1 hour Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode On Wait 15 minutes Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Cool Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode Auto Else - No Actions - (To add one, press 'Action') I can't decide whether you need the initial wait 1 hour or if the repeat will wait one hour before the first iteration on it's own. (I don't use repeat like this anywhere and the documentation doesn't clear it up, but it's easy to test)
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 1 hour ago, MrBill said: Correct. "Control" would only see the ON event and not the status change. With "Status" if the status changes to false the THEN block would stop running and the (blank) ELSE block would start running. Let's pretend its a super hot day. The temp in the room rises, the air kicks on, this starts the one hour wait. The hour expires, the remaining parts of the program run.... the Then block is now over... it won't repeat it again. You need a repeat, so that it does this every hour until it's stopped by a change to the Status. If 'Upstairs / Master / Upstairs Thermostat - Cool Ct' is On Then Wait 1 hour Repeat Every 1 hour Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode On Wait 15 minutes Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Cool Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode Auto Else - No Actions - (To add one, press 'Action') I can't decide whether you need the initial wait 1 hour or if the repeat will wait one hour before the first iteration on it's own. (I don't use repeat like this anywhere and the documentation doesn't clear it up, but it's easy to test) Very cool. Makes a lot more sense now. I will give it a try and see if I can tell if I am getting the desired response. Thanks a million. 1
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 (edited) 1 hour ago, MrBill said: If 'Upstairs / Master / Upstairs Thermostat - Cool Ct' is On Then Wait 1 hour Repeat Every 1 hour Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode On Wait 15 minutes Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Cool Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode Auto Ok another question. Does the Program "Break" when the THEN "Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off". Wouldn't this turn the IF Status "'Upstairs / Master / Upstairs Thermostat - Cool Ct' is On" to Off? Or will it continue out the THEN until it reaches then end? The documentation says "Runs the Then section of the specified program disregarding any Conditions. \" Edited May 6, 2022 by smithlevenson
MrBill Posted May 6, 2022 Posted May 6, 2022 3 minutes ago, smithlevenson said: Very cool. Makes a lot more sense now. I will give it a try and see if I can tell if I am getting the desired response. Thanks a million. I should add the disclaimer, that your original question about how 'Upstairs / Master / Upstairs Thermostat - Cool Ct' node works may still be applicable. I'm guessing, as I don't own a 2441TH. 1
MrBill Posted May 6, 2022 Posted May 6, 2022 1 minute ago, smithlevenson said: Ok another question. Does the Program "Break" when the THEN "Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off". Wouldn't this turn the IF Status "'Upstairs / Master / Upstairs Thermostat - Cool Ct' is On" to Off? Or will it continue out the THEN until it reaches then end? Someone with a 2441TH needs to chime in... I don't own one and i'm not exactly sure what node you should be using with status in the IF statement. I know that you should be using Status, and not control for this application, but I'm not sure about the choices to be used with Status. 1
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 3 minutes ago, MrBill said: Someone with a 2441TH needs to chime in... I don't own one and i'm not exactly sure what node you should be using with status in the IF statement. I know that you should be using Status, and not control for this application, but I'm not sure about the choices to be used with Status. I think I can try and figure it out. I just needed some Program logic, because I seem to suck at it normally. But if it's going horribly off the rails I will be able to see that quickly. 2
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 1 hour ago, MrBill said: Someone with a 2441TH needs to chime in... I don't own one and i'm not exactly sure what node you should be using with status in the IF statement. I know that you should be using Status, and not control for this application, but I'm not sure about the choices to be used with Status. I think you are on to something about which nodes are correct. There is a Status that changes called Heat/Cool State and the variable that changes is Heating/Cooling. The program didn't run after an hour of cooling so I am assuming that the node is incorrect on just the Status of Upstairs Thermostat - Cool Ct Status is On.
MrBill Posted May 6, 2022 Posted May 6, 2022 post a screenshot of what the thermostat looks like in the admin console and I might be able to guess....
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 15 minutes ago, MrBill said: post a screenshot of what the thermostat looks like in the admin console and I might be able to guess.... I also forgot I hadn't restored the Thermostats from an issue I was having, so the Status for Cool Ct and Heat Ct were not appearing.
MrBill Posted May 6, 2022 Posted May 6, 2022 "Heat/Cool State" that shows "Idle" in the screenshot is likely what you want in the IF statement. When it's Cool (or whatever the choice is) is when you want the program to run.
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 3 minutes ago, MrBill said: "Heat/Cool State" that shows "Idle" in the screenshot is likely what you want in the IF statement. When it's Cool (or whatever the choice is) is when you want the program to run. Agreed. Thanks!
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 (edited) 1 hour ago, MrBill said: "Heat/Cool State" that shows "Idle" in the screenshot is likely what you want in the IF statement. When it's Cool (or whatever the choice is) is when you want the program to run. Eh, When the Program runs THEN Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off then the IF statement becomes false and the program turns the Cooling off and breaks out before running the next line. Edited May 6, 2022 by smithlevenson
MrBill Posted May 6, 2022 Posted May 6, 2022 1 minute ago, smithlevenson said: Eh, When the Program runs THEN Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off then the IF statement becomes false and the program turns the Cooling off and quits. I've got an idea.... but I'm out of time this afternoon to think thru all the logic (it will take a couple of programs to work around, but it's do-able) I'll reply again in the morning... 1
smithlevenson Posted May 6, 2022 Author Posted May 6, 2022 1 minute ago, MrBill said: I've got an idea.... but I'm out of time this afternoon to think thru all the logic (it will take a couple of programs to work around, but it's do-able) I'll reply again in the morning... No problem, Friend. Thanks for all your help regardless.
MrBill Posted May 7, 2022 Posted May 7, 2022 this may still need a tweak or two but here's the logic I think should work Program CoolCycle If 'Upstairs / Master / Upstairs Thermostat status is cool Then Wait 1 hour Run Program CoolCycle_loop (then) Else (none) ----------------------------------------- Program CoolCycle_loop (Disabled) If (nothing) then Disable Program CoolCycle Repeat Every 1 hour Stop Program CoolCycle_loopStopper wait 10 seconds Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode On Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off Wait 15 minutes Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Cool Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode Auto wait 10 seconds Run Program CoolCycle_loopStopper (then) Else - No Actions - (To add one, press 'Action') ------------ Program CoolCycle_loopStopper (Disabled) If (nothing) then Repeat every 1 minute Run Program CheckCoolCycleStatus (if) else (nothing) ---------------------------- Program CheckCoolCycleStatus (Disabled) If 'Upstairs / Master / Upstairs Thermostat status is cool then (nothing) else Stop Program CoolCycle_loop Enable Program CoolCycle Stop CoolCycle_loopStopper ----------------------- Program CoolCycle_startup (disabled) (Run at Startup) If (nothing) then Enable Program CoolCycle Disable CoolCycle_loop Disable Program CoolCycle_loopStopper Disable Program CheckCoolCycleStatus The logic is that CoolCycle watches the thermostat to go to cool. Still unsure if it needs the initial wait of 1 hour, but I think it does, however I didn't run an experiment to find out. Once it gets to the cycle loop it runs another program so that it can disable the first program. (that 1 hour wait should maybe be 45 minutes if you are wanting cycles that last 1 hour each.) Once the loop starts, It doesn't matter on the first run that the program it stops isn't running, the ISY doesn't care. So the equipment cycle occurs and at the end of the 15 minute cycle, it starts a program that checks every minute to see if we need to get out of the loop, once the mode is no longer "cool" the loop is terminated and the first program is again reenabled. All but the first program should be disabled all the time. remember that disabled program still run if another program tells them to run. The last program is optional but ensures programs are enabled/disabled correctly when the ISY starts. Let me know if you have any questions.... 1
smithlevenson Posted May 7, 2022 Author Posted May 7, 2022 2 hours ago, MrBill said: this may still need a tweak or two but here's the logic I think should work Program CoolCycle If 'Upstairs / Master / Upstairs Thermostat status is cool Then Wait 1 hour Run Program CoolCycle_loop (then) Else (none) ----------------------------------------- Program CoolCycle_loop (Disabled) If (nothing) then Disable Program CoolCycle Repeat Every 1 hour Stop Program CoolCycle_loopStopper wait 10 seconds Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode On Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Off Wait 15 minutes Set 'Upstairs / Master / Upstairs Thermostat - Main' Mode Cool Set 'Upstairs / Master / Upstairs Thermostat - Main' Fan Mode Auto wait 10 seconds Run Program CoolCycle_loopStopper (then) Else - No Actions - (To add one, press 'Action') ------------ Program CoolCycle_loopStopper (Disabled) If (nothing) then Repeat every 1 minute Run Program CheckCoolCycleStatus (if) else (nothing) ---------------------------- Program CheckCoolCycleStatus (Disabled) If 'Upstairs / Master / Upstairs Thermostat status is cool then (nothing) else Stop Program CoolCycle_loop Enable Program CoolCycle Stop CoolCycle_loopStopper ----------------------- Program CoolCycle_startup (disabled) (Run at Startup) If (nothing) then Enable Program CoolCycle Disable CoolCycle_loop Disable Program CoolCycle_loopStopper Disable Program CheckCoolCycleStatus The logic is that CoolCycle watches the thermostat to go to cool. Still unsure if it needs the initial wait of 1 hour, but I think it does, however I didn't run an experiment to find out. Once it gets to the cycle loop it runs another program so that it can disable the first program. (that 1 hour wait should maybe be 45 minutes if you are wanting cycles that last 1 hour each.) Once the loop starts, It doesn't matter on the first run that the program it stops isn't running, the ISY doesn't care. So the equipment cycle occurs and at the end of the 15 minute cycle, it starts a program that checks every minute to see if we need to get out of the loop, once the mode is no longer "cool" the loop is terminated and the first program is again reenabled. All but the first program should be disabled all the time. remember that disabled program still run if another program tells them to run. The last program is optional but ensures programs are enabled/disabled correctly when the ISY starts. Let me know if you have any questions.... Amazing! Can't wait to try it out. I had no idea you were putting that level of effort into the solution. Wow! 1
MrBill Posted May 7, 2022 Posted May 7, 2022 13 minutes ago, smithlevenson said: Amazing! Can't wait to try it out. I had no idea you were putting that level of effort into the solution. Wow! Thanks, After you've written a few of these it really doesn't take alot of effort, its just knowing how to use interlocked programs. BTW, I'm not sure why you are needing this program but if you're having trouble with the indoor coil freezing up that's a maintenance issue, largely caused two ways... blocked airflow, or low freon level. Blocked airflow could be return vents that aren't blocked or dirty filters etc. Low Freon is also a possibility that most people want to dismiss as impossible, how could it get too cold if the freon's low? Keep in mind that Freon isn't carrying cold in, it's carrying heat out. When it's low it can't carry heat out fast enough, but the cooled freon is still returning from outdoors. Since it can't take the heat away fast enough the indoor coil freezes.
smithlevenson Posted May 7, 2022 Author Posted May 7, 2022 (edited) 47 minutes ago, MrBill said: Thanks, After you've written a few of these it really doesn't take alot of effort, its just knowing how to use interlocked programs. BTW, I'm not sure why you are needing this program but if you're having trouble with the indoor coil freezing up that's a maintenance issue, largely caused two ways... blocked airflow, or low freon level. Blocked airflow could be return vents that aren't blocked or dirty filters etc. Low Freon is also a possibility that most people want to dismiss as impossible, how could it get too cold if the freon's low? Keep in mind that Freon isn't carrying cold in, it's carrying heat out. When it's low it can't carry heat out fast enough, but the cooled freon is still returning from outdoors. Since it can't take the heat away fast enough the indoor coil freezes. It's low freon. Unfortunately there is no DIY way to top of the refrigerant. My HVAC guy is a week from coming though and we have some hot days. Heat pumps run a defrost mode, so I am basically stealing that technique to limp along. I will add I've been trying to do it manually for the last 3 days and have failed miserably. I keep forgetting to put it back into cool. Edited May 7, 2022 by smithlevenson 1
smithlevenson Posted May 10, 2022 Author Posted May 10, 2022 On 5/7/2022 at 9:35 AM, MrBill said: BTW, I'm not sure why you are needing this program but if you're having trouble with the indoor coil freezing up that's a maintenance issue, largely caused two ways... blocked airflow, or low freon level. Blocked airflow could be return vents that aren't blocked or dirty filters etc. Low Freon is also a possibility that most people want to dismiss as impossible, how could it get too cold if the freon's low? Keep in mind that Freon isn't carrying cold in, it's carrying heat out. When it's low it can't carry heat out fast enough, but the cooled freon is still returning from outdoors. Since it can't take the heat away fast enough the indoor coil freezes. So, it's a small leak in the Evap Coils. It's going to need to be replaced at some point. If it makes it through cooling season, then I will probably replace it at the beginning of next season, when it would otherwise need to be refilled. It was a $275 job, but it's running perfect now. I think Evap might be like a $1,500 job. 1
MrBill Posted May 10, 2022 Posted May 10, 2022 45 minutes ago, smithlevenson said: but it's running perfect now so the programs are working? Or he refilled it?
Recommended Posts