Jump to content

HVAC Program


Go to solution Solved by MrBill,

Recommended Posts

Posted

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.
 

 

Posted
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.  

Posted
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
Posted
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)

Posted
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.

  • Thanks 1
Posted (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 by smithlevenson
Posted
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.

  • Like 1
Posted
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.

  • Like 1
Posted
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.

  • Like 2
Posted
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.  

Posted
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.

Posted

"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.

Posted
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!

Posted (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 by smithlevenson
Posted
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...

 

  • Thanks 1
Posted
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. 

Posted

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....

  • Like 1
Posted
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!

  • Thanks 1
Posted
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.

Posted (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 by smithlevenson
  • Thanks 1
Posted
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.

  • Like 1
Guest
This topic is now closed to further replies.

×
×
  • Create New...