Jump to content

Insteon, X10, ISY994i and an old Hot Tub


chazzie

Recommended Posts

I recently began the upgrade from x10 to Insteon and purchased an ISY994i as my central controller. I have an older hot tub with mechanical controls, so it is on a heavy duty X10 switch and I use the automation to turn it on for 10 minutes every half hour and then back off for the remaining 20. I leave the mechanical switches set where I like them for actually using the hot tub and this cycle effectively gives me the "maintenance mode" of new digital hot tub controllers.

 

To move this to the ISY994i, I have built two programs (one to turn the switch on every 30 minutes and another to turn it off 10 minutes later). These work well for the maintenance mode, but I don't want to have to log into the ISY994i every time I want to use the hot tub and I don't want it to turn the hot tub off while I'm in it. I have an older (X10 only) KPL next to the physical switch for the hot tub and would like to use a spare button on it to disable the "Off after 10 minutes" program with an x10 signal.

 

I'm hoping this can be done and I just haven't figured out where in the isy994i to do it. Barring that, here is my code (the override program 'Use Hot Tub' doesn't seem to override this, but I left the condition in the code) and maybe someone can offer an alternative way to accomplish the goal of being able to override the "maintenance mode" when I get in the hot tub (without getting out the laptop)(Note the hot tub switch is X10 C8 and the KPL Button I want to use for override is set in toggle mode and sends X10 C9 On/Off):

 

The "Off portion off the "Maintenance" code)

If
          Program 'Use Hot Tub - On' is False
                 And Time is 12:10:00AM
                   Or Time is 12:40:00AM
                   Or Time is   1:10:00AM
                   Or Time is   1:40:00AM
                   Or Time is   2:10:00AM

 

...well you get the idea.

Then
             Send X10 'C8/Off (11)'
             Wait 3 Seconds
             Send X10 'C8/Off (11)'
             Wait 3 Seconds
             Send X10 'C8/Off (11)'
             Stop program 'Hot Tub Maintenance Temp - On'

 

Not that you need it, but the "Use Hot Tub - On" Code:

 

If
             X10 'C9/On (3)' is Received

        Then
              Stop program 'Use Hot Tub - Off'
              Send X10 'C8/On  (3)'
              Wait 3 Seconds
              Send X10 'C8/On  (3)'
              Wait 3 Seconds
              Send X10 'C8/On  (3)'
              Wait 3 Seconds

Link to comment

Statements such as

 

Stop program 'Use Hot Tub - Off'

 

stop the Program but do not change the True/False state of the Program. True/False state is based on whether the last If evaluation was True or False (which clause was run), not whether it is running or not. After stopping the Program run the Else clause to change state to False.

Link to comment

So you're saying that:

If
             X10 'C9/On (3)' is Received

        Then
              Stop program 'Use Hot Tub - Off'
              Send X10 'C8/On  (3)'
              Wait 3 Seconds
              Send X10 'C8/On  (3)'
              Wait 3 Seconds
              Send X10 'C8/On  (3)'
              Wait 3 Seconds

       Else
             Set program 'Use Hot Tub - Off' = False

 

...will make the 'Hot Tub Maintenance Temp - Off' program be overridden correctly by this code?

Link to comment

There is no statement

 

Set Program 'xxx' = False

 

I was suggesting using

 

Stop Program ‘xxxxx’

Run Program 'xxxxx' (Else Path)

 

The Run Program Else will change the Program Status from True to False.

 

One of the posted examples is checking for If Program 'xxxxx' is False. For a Program to have a False Status either the If has had to evaluate to False which will run the Else clause or the Else clause has to be explicitly run.

Link to comment

Yeah, I saw that example, but couldn't figure out how to adapt it to the multiple times in the IF statement. If I turn the 'Use Hot Tub - On' program at 9:15pm and it includes a "Run Program 'Hot Tub Maintenance - Off' (Else Path)" to set the 'Hot Tub Maintenance - Off' program to false, won't it just become true again when 9:40pm rolls around?

Link to comment

The Program Status would become True when a C9/On is received. I'm not clear on the logic of all of this. I was pointing out that a Program True/False Status does not change as a result of the Stop Program statement. There is nothing in the original posted code snippets that would make " Program 'Use Hot Tub - On' " False.

Link to comment

Archived

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


×
×
  • Create New...