Jump to content

vacation setting without a vacation button


62vetteefp

Recommended Posts

Posted

I set up my switch for the fast off and fast on. I can change the variable state to 1 (per the ISY program status) which should set all tstats to 60. However the tstats do not change. The variable did change to 1 but in the event log viewer I get:

 

Thu 02/20/2014 07:50:25 AM : [iNST-SRX ] 02 50 24.7A.16 00.00.01 CB 13 00 LTOFFRR(00)

 

Thu 02/20/2014 07:50:25 AM : [std-Group ] 24.7A.16-->Group=1, Max Hops=3, Hops Left=2

 

Thu 02/20/2014 07:50:25 AM : [ 24 7A 16 1] DOF 0

 

Thu 02/20/2014 07:50:26 AM : [iNST-SRX ] 02 50 24.7A.16 00.00.01 CB 13 00 LTOFFRR(00)

 

Thu 02/20/2014 07:50:26 AM : [std-Group ] 24.7A.16-->Group=1, Max Hops=3, Hops Left=2

 

Thu 02/20/2014 07:50:26 AM : [iNST-DUP ] Previous message ignored.

 

Thu 02/20/2014 07:50:26 AM : [iNST-SRX ] 02 50 24.7A.16 13.00.01 CB 06 00 (00)

 

Thu 02/20/2014 07:50:26 AM : [std-Group ] 24.7A.16-->13.00.01, Max Hops=3, Hops Left=2

 

Thu 02/20/2014 07:50:26 AM : [iNST-INFO ] Previous message ignored.

 

MY VARIABLE SET PROGRAM

If

Control '24.7A.16.1 outside driveway' is switched Fast Off

And Control '24.7A.16.1 outside driveway' is not switched Fast On

 

Then

$S.vacation = 1

 

Else

$S.vacation = 0

 

MY VACATION FOLDER/FOLDER

 

Folder Conditions for 'Vacation / Away'

Add conditions to limit when programs in this folder are allowed to run.

 

 

 

If

$S.vacation is 1

 

Then

Allow the programs in this folder to run.

 

 

If

- No Conditions - (To add one, press 'Schedule' or 'Condition')

 

Then

Set 'Kitchen Thermostat-Main' 60° (Heat Setpoint)

Set 'Master Thermostat - Main' 60° (Heat Setpoint)

Set 'Upstairs Thermostat - Main' 60° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

 

 

Am I missing something?

Posted

I moved the 3 line program setting the tstats to 60 out of the folder and added the variable if statement to it so it is now part of the MY Programs base folder. It now works.

 

What was I doing wrong? Seems like it should have worked.

 

If

$S.vacation is 1

 

Then

Set 'Kitchen Thermostat-Main' 60° (Heat Setpoint)

Set 'Master Thermostat - Main' 60° (Heat Setpoint)

Set 'Upstairs Thermostat - Main' 60° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

Posted

The device is not sending a Fast On or Fast Off in the posted trace. An Off command is sent twice. Looks like the device was not pressed twice fast enough to generate a Fast Off command

Posted

thanks. Gotta practice fast tapping.

 

What does the previous message ignored mean? Maybe that the light is already off?

 

Is there somewhere where the feedback is explained?

 

Group? Max hops? Hops left? some kind of game:)

Posted

Now I am trying to make it so when I FAST ON, the tstats resume their normal schedules. I modified the program by adding the Or statement thinking it would force the tstats to change. However the programs seem to not be running until the change times happen in the programs. How do I force the tstats to run the corresponding part of their program during the time? Do I need to modify the tstat programs with a time from ***** to ****** statement? Would htat do it? A better way?

 

Folder Conditions for 'Thermostats'

Add conditions to limit when programs in this folder are allowed to run.

 

If

$S.vacation is 0

Or Control '24.7A.16.1 outside driveway' is switched Fast On

 

Then

Allow the programs in this folder to run.

 

 

Sample tstat program

If

On Mon, Tue, Wed, Thu, Fri

Time is 3:45:00PM

Or On Sun

Time is 11:00:00AM

 

Then

Set 'Kitchen Thermostat-Main' 68° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

Posted

Using If Control as a Folder condition does not work. If Control is looking at the command flowing from the device. That would be True only for the small time the command is actually received. That would be used in a Program rather than a Folder.

 

The second Off command appears to be a duplicate message to the ISY and is ignored. The third message (second that is marked ignored) is an I2CS message reflecting the state of the Group message sequence when the button/paddle is pressed. It is not a functional message.

 

On insteon.com there is an insteondetails.pdf document that describes many of the internals of Insteon messages.

Posted
Using If Control as a Folder condition does not work. If Control is looking at the command flowing from the device. That would be True only for the small time the command is actually received. That would be used in a Program rather than a Folder.

 

 

Which commands can I use in a folder?

 

variables? status? ?????

Posted

Variables and Status are fine as Folder conditions.

 

If Status xxxx On

 

If $xxxx = 4

 

The If Control is checking the command that has just flowed from a device. It would be True only for the instant that the command reaches the ISY. Otherwise the If Control result would be False, not what is needed for a Folder condition. Use If Control as a condition in a Program rather than a condition in a Folder.

Posted

62vetteefp-

 

I think I see what you are trying to accomplish here. You can use the same state variable for your home folder that you use for your vacation folder simply testing for a 0 instead of a 1. Then create the following program to watch for your FastOn/FastOff commands at your switch:

 

If 
  Control '24.7A.16.1 outside driveway' is Switched Fast On
  and Control '24.7A.16.1 outside driveway' is not Switched Fast Off

Then
  $s.Vacation = 1

Else
  $s.Vacation = 0

 

This program will set you to vacation mode with a fast on and to home mode with a fast off. Note the IS NOT in the second line of the If. It causes the ELSE clause to run when you issue the FastOff at the switch.

 

Use: If $s.Vacation = 1

 

for your vacation folder condition and

 

If $s.Vacation = 0

 

for your home folder.

 

Hope this helps

 

-Xathros

Posted

Xathros, that is not the issue. Problem was that the home programs would not run.

 

In the original program below There is just a start time so it ask the set point to change only at 3:45. So when I added "If variable = 0" and then did the fast on at 4:00 it would not run. The next program would run though at 9:30 when it was supposed to run.

 

If

On Mon, Tue, Wed, Thu, Fri

Time is 3:45:00PM

Or On Sun

Time is 11:00:00AM

 

Then

Set 'Kitchen Thermostat-Main' 68° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

 

So I think I have to copy all those programs and add the too time.

 

If

Control '24.7A.16.1 outside driveway' is switched Fast On

And On Sun

From 11:00:00AM

To 9:29:00PM (same day)

Or On Mon, Tue, Wed, Thu, Fri

From 2:00:00PM

To 9:29:00PM (same day)

 

Then

Set 'Kitchen Thermostat-Main' 68° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

 

Is there a better way to modify the original programs so I do not have to add another set of programs?

Gonna get mighty messy with.

Posted

Well, you could include the variable test in your Ifs. That way when the state variable changes at 4:00, the ifs are triggered and evaluated.

 

If

(

On Mon, Tue, Wed, Thu, Fri

Time is 3:45:00PM

Or On Sun

Time is 11:00:00AM

)

and $s.Vacation = 0

 

Then

Set 'Kitchen Thermostat-Main' 68° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

 

-Xathros

Posted

Nope. It triggers at your times and anytime the state variable s.Vacation changes value. Once triggered the conditions are evaluated and either Then or Else is run.

 

Remember, a state variable will trigger and if statement that refrences it when the value changes, and integer variable will NOT. That is why it was critical for s.Vacation to be a state variable. the "s." at the beginning is just a voluntary nameing convention that some of use use to identify a variable as a state type. I name my integer variables with "i." at the beginning. Makes debugging a bit easier down the road.

 

Remember, the ISY is event driven. Its all about the triggers!

 

Hope this helps.

 

-Xathros

Posted

But what about the sleep program that starts at 9:30 pm? Why does that program not run at 9:00 if the state variable changes to 0? It says IS 9:30, not after or before.

 

If

Time is 9:30:00PM

And $S.vacation is 0

 

Then

Set 'Kitchen Thermostat-Main' 62° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

Posted

Change And to Or.

 

Your program says If time is 9:30 AND the value of s.Vacation is 0

 

So lets say at 9pm the variable changes from 1 to 0, the program triggers and the if is evaluated and runs false (Else) since the time is NOT 9:30

 

Change the and to an OR - the program will trigger and run true at 9:30 or anytime the value of s.Vacation becomes 0

 

Make sense?

 

Now, that question makes me think that you have multiple programs for different times of day that might all trigger at once if coded this way. If so, you might think of coding a time range instead:

 

If

Time is From 5:00pm to 9:30pm (same day)

AND s.Vacation = 0

 

Notice, I used AND instead of OR here - because of the range rather than a specific time. This will run true at 5:00 as long as s.Vacation is 0 and anytime between 5 -9:30 when s.Vacation becomes 0

 

-Xathros

 

EDIT: If you need further assistance tonight, make sure to quote my post or mention @Xathros in your reply so I get notified by my phone otherwise, I won't see anything here till tomorrow morning.

Posted
Change And to Or.

 

Your program says If time is 9:30 AND the value of s.Vacation is 0

 

So lets say at 9pm the variable changes from 1 to 0, the program triggers and the if is evaluated and runs false (Else) since the time is NOT 9:30

 

Change the and to an OR - the program will trigger and run true at 9:30 or anytime the value of s.Vacation becomes 0

 

Make sense?

 

Now, that question makes me think that you have multiple programs for different times of day that might all trigger at once if coded this way. If so, you might think of coding a time range instead:

 

If

Time is From 5:00pm to 9:30pm (same day)

AND s.Vacation = 0

 

Notice, I used AND instead of OR here - because of the range rather than a specific time. This will run true at 5:00 as long as s.Vacation is 0 and anytime between 5 -9:30 when s.Vacation becomes 0

 

-Xathros

 

EDIT: If you need further assistance tonight, make sure to quote my post or mention @Xathros in your reply so I get notified by my phone otherwise, I won't see anything here till tomorrow morning.

 

 

Thanks, I think that is what I have been trying to say!

 

That will be a bunch of program changes but off I go.

Posted

Wake up:

If

On Mon, Tue, Wed, Thu, Fri

From 6:00:00AM

To 8:00:00AM (same day)

Or On Sat

From 7:45:00AM

To 9:29:59PM (same day)

Or On Sun

From 7:45:00AM

To 9:15:00AM (same day)

And $S.vacation is 0

 

Then

Set 'Kitchen Thermostat-Main' 68° (Heat Setpoint)

 

Else

Set 'Kitchen Thermostat-Main' 60° (Heat Setpoint)

 

Back Home

If

On Mon, Tue, Wed, Thu, Fri

From 3:45:00PM

To 9:29:59PM (same day)

Or On Sun

From 11:00:00AM

To 9:29:59PM (same day)

And $S.vacation is 0

 

Then

Set 'Kitchen Thermostat-Main' 68° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

 

Bedtime:

If

On Sun, Mon, Tue, Wed, Thu

From 9:30:00PM

To 5:59:59AM (next day)

Or On Sat, Fri

From 9:30:00PM

To 7:44:59AM (next day)

And $S.vacation is 0

 

Then

Set 'Kitchen Thermostat-Main' 62° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

 

 

 

Posted

If

$S.vacation is 1

And Status 'Kitchen Thermostat-Main' is Mode Heat

And Status 'Master Thermostat - Main' is Mode Heat

And Status 'Upstairs Thermostat - Main' is Mode Heat

 

Then

Set 'Kitchen Thermostat-Main' 60° (Heat Setpoint)

Set 'Master Thermostat - Main' 60° (Heat Setpoint)

Set 'Upstairs Thermostat - Main' 60° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

Posted

Any program that is coded this way needs parens as indicated. The final AND is anding only the last OR in the list without the parens.

 

If

(

On Mon, Tue, Wed, Thu, Fri

From 6:00:00AM

To 8:00:00AM (same day)

Or On Sat

From 7:45:00AM

To 9:29:59PM (same day)

Or On Sun

From 7:45:00AM

To 9:15:00AM (same day)

)

And $S.vacation is 0

 

 

If

(

On Mon, Tue, Wed, Thu, Fri

From 3:45:00PM

To 9:29:59PM (same day)

Or On Sun

From 11:00:00AM

To 9:29:59PM (same day)

)

And $S.vacation is 0

 

 

This change is required for all programs with this sequence

Posted

Exactly what Lee said!

 

 

-Xathros

 

Sent from my iPhone using Tapatalk

Posted

No worries. Your always welcome to jump in. :)

 

 

-Xathros

 

Sent from my iPhone using Tapatalk

Posted

So much to learn!!!!!! And anyone can jump in on my behalf!!!

 

If

(

On Mon, Tue, Wed, Thu, Fri

From 3:45:00PM

To 9:29:59PM (same day)

Or On Sun

From 11:00:00AM

To 9:29:59PM (same day)

)

And $S.vacation is 0

 

Then

Set 'Kitchen Thermostat-Main' 68° (Heat Setpoint)

 

Else

- No Actions - (To add one, press 'Action')

Posted

What happens if the program overlaps?

 

In this case I used 9:29:59 and 9:30. What if I would have used 9:30 for both the end of one program and the beginning of another?

Guest
This topic is now closed to further replies.

×
×
  • Create New...