Jump to content

Change programs when on vacation...


jmed999

Recommended Posts

When I leave for vacation and when I return, I have to go through all my programs and disable some then when I return I have to enable them. Also when my wife and I have company I have to disable some then enable them when they leave.

 

What is the best way to do this? Write a program to disable those programs or create a scene to do this? I'm thinking about using a remotelinc to do this for simplicity reasons (to make it easy for the wife) :)

 

Thanks for your help!

Link to comment

I use variables for this.

i.HomeAway=0 for home or 1 for Away

s.Occupied=0 for vacant or 1 for Occupied

i.Company=0 for normal or 1 when guests are present.

 

Many of my programs contain if s.Occupied=1 or If i.HomeAway=0.

 

I have toggle programs for some manually controlled mode variables like

i.company or i.HomeAway that look like:

 

If

i.HomeAway =0

 

Then

I.HomeAway=1

 

Else

i.HomeAway=0

 

I set these programs as favorites in Mobilinc

 

-Xathros

Link to comment
What is the best way to do this? Write a program to disable those programs or create a scene to do this?

 

There are other options. I use folders, including:

 

a) programs to run in summer

B) programs to run in winter

c) programs to run when home

d) programs to run when away

 

Put your programs into one of these folders, and use home/away status to enable/disable folders automatically.

Link to comment
I use variables for this.

i.HomeAway=0 for home or 1 for Away

s.Occupied=0 for vacant or 1 for Occupied

i.Company=0 for normal or 1 when guests are present.

 

Many of my programs contain if s.Occupied=1 or If i.HomeAway=0.

 

I have toggle programs for some manually controlled mode variables like

i.company or i.HomeAway that look like:

 

If

i.HomeAway =0

 

Then

I.HomeAway=1

 

Else

i.HomeAway=0

 

I set these programs as favorites in Mobilinc

 

-Xathros

 

Thanks! I think this is the way to go. I'm not that good with variables. Why is the Occupied variable a state variable? What do you use the occupied variable for?

 

What the purpose of the following program?

 

If

i.HomeAway =0

 

Then

I.HomeAway=1

 

Else

i.HomeAway=0

 

 

Thanks for your help!

Link to comment

How would I add the Homeaway variable to this program?

 

If

From Sunset

To Sunrise (next day)

And (

Elk Zone 'Fishing Shed' is Violated

Or Elk Zone 'Fishing Deck Box' is Violated

)

And Status 'Back CFL Floods' is Off

 

Then

Set Scene 'Fishing Shed Lights' Fast On

Wait 10 minutes

Set Scene 'Fishing Shed Lights' Fast Off

 

Else

Wait 10 minutes

Set Scene 'Fishing Shed Lights' Fast Off

 

 

The problem is when I have company and we sit out back we like the back CFL floods on but this program which turns on those lights if someone opens my fishing shed (and tries to steal something), turns those lights off after 10 minutes. So when company is out back with those lights on, they turn off every 10 minutes. errrrg. I need this program to turn off when we have company. Can I do this with the homeaway variable?

Link to comment

You may not be able to accomplish what you want with your existing program construct. You current program turns the lights off in both THEN and ELSE paths. This program also seems like it might include a loop, where your THEN path forces a change in status, forcing a re-trigger to the ELSE path, forcing another retrigger....etc...You may need to start fresh.

 

You may also want to rethink your desires. Do you really want to disable the timer always when you have company (regadless of whether you are out back), or only when are sitting out back (regardless of whether you have visiting guests)? Perhaps a better way would be to override the timer via a light switch as you head out back?

 

A few questions:

 

a) Please confirm that your scene "fishing shed lights" include the device "back CFL floods"? (I assume that is does, based upon your description.)

B) What is your purpose for the last condition line: And Status 'Back CFL Floods' is Off?

c) Under normal operation, do you want your 10min countdown restarted at every violation of your fishing shed?

Link to comment
You may not be able to accomplish what you want with your existing program construct. You current program turns the lights off in both THEN and ELSE paths. This program also seems like it might include a loop, where your THEN path forces a change in status, forcing a re-trigger to the ELSE path, forcing another retrigger....etc...You may need to start fresh.

 

You may also want to rethink your desires. Do you really want to disable the timer always when you have company Yes (regadless of whether you are out back), or only when are sitting out back (regardless of whether you have visiting guests)? Perhaps a better way would be to override the timer via a light switch as you head out back? That's what the program does...If the CFLs are on it doesn't run the if statement. Problem is the else part also turns the light off after 10 min

 

A few questions:

 

a) Please confirm that your scene "fishing shed lights" include the device "back CFL floods"? (I assume that is does, based upon your description.) Yes it sure does

B) What is your purpose for the last condition line: And Status 'Back CFL Floods' is Off? To keep the program from working if we are sitting out back with the lights on.

c) Under normal operation, do you want your 10min countdown restarted at every violation of your fishing shed? Yes

 

The else part makes it such that if someone breaks into my fishing shed, the lights stay on for 10 minutes even if the door is shut.

Link to comment
That's what the program does...If the CFLs are on it doesn't run the if statement. Problem is the else part also turns the light off after 10 min

 

That is what the program "does" or that is what the program "is supposed to do, but doesn't"?

 

 

to keep the program from working if we are sitting out back with the lights on.

 

This is what I suspected...that you put the last condition as an override, but THEN and ELSE paths both have the timer. So it is not currently working as you hoped.

 

Yes it sure does

 

What I am concerned is happening, then, is that something (motion, zone vioation, etc) triggers your program, which causes THEN to run, which turn on the scene that includes the "back CFL floods", which forces a re-evaluation due to the status change of the "back CFL floods", which halts the THEN path and runs the else path, which (after ten minutes) turns off the scene that includes the "back CFL floods", which forces another program evaluation, which again runs the else path, which turns off the scene that is already off. I think you will need to completely abandon this program and start fresh.

 

First thing is to establish how you want to initiate guest status. Is this a keypad button? Switch? Manual activation of the "back CFL floods" (I assumed this was your approach)? You could create a simple program (calling it "guest status") such as:

 

if
control "back CFL flood" is switched on
and control "back CFL flood" is not switched off
then
else

 

This program will act as a simple status check and be TRUE when the "back CFL flood" device is switched on locally, and FALSE when switched off locally. ON (program true) will indicate guest mode. OFF (program false) will indicate normal mode.

 

For the timer, try something like:

if
program "guest status" is false
and From Sunset
To Sunrise (next day)
And (
Elk Zone 'Fishing Shed' is Violated
Or Elk Zone 'Fishing Deck Box' is Violated 
)
Then
run program "timer" (then path)
else

 

Add a third program (calling it "timer")

if
then
Set Scene 'Fishing Shed Lights' Fast On
Wait 10 minutes
Set Scene 'Fishing Shed Lights' Fast Off
else

 

The benefit from breaking out the timer into a separate program is that it will not be interrupted by change in guest status, change in elk zones, or sunrise. In other words, it will continue to completion unless you get another zone violation. Each new zone violation will restart the timer.

 

If you prefer, you could create a variable (as suggested earlier by Xathros) to indicate home and away, but I am not sure what benefit there would be in this case. Perhaps it might be a little easier to see the program logic and remember how everything works in the future. Functionally, I don't think it would operate any differently. If, in the future, you wanted more than two conditions (guest and normal), then variables may make things a little simpler.

Link to comment
If you prefer, you could create a variable (as suggested earlier by Xathros) to indicate home and away, but I am not sure what benefit there would be in this case. Perhaps it might be a little easier to see the program logic and remember how everything works in the future. Functionally, I don't think it would operate any differently. If, in the future, you wanted more than two conditions (guest and normal), then variables may make things a little simpler.

 

One way this can make it easier would be to use the i.HaveCompany variable as a Folder Condition and place the timer/security program(s) within the folder.

 

 

-Xathros

Link to comment

Agreed. I meant easier than having the variables listed in each program as conditions vs using a folder with a single condition.

 

-Xathros

Link to comment
I meant easier than having the variables listed in each program as conditions vs using a folder with a single condition
.

 

With this, I agree. I like program folders, especially when one has multiple programs based on identical conditions. I have several such folders, including:

 

home

away

guest

winter

summer

 

(I could see uses for others, such as weekends, weekdays, night, day, etc...)

 

In each of these folders I have multiple programs governing interior and exterior lighting and device control.

 

When one has only a single program predicated on this type of condition, the use of folders may not offer a lot of advantage.

Link to comment

Guys, I'm now using both methods....folders controlled by variables and programs with the variable in the "if" statement.

 

My question now is what happens if the power goes out?

 

I'm using i.HomeAway = 0 if at home and 1 if on vacation, i.Company = 0 if we do not have visitors and = 1 if we do have visitors, i.HomeSick = 0 if we (wife and I) are at work and = 1 if for some reason we didn't go to work (ie. at home sick).

 

But what happens if the power goes out while we have visitors or while we are on vacation? Is there a way to get the ISY to keep the current value of the variables after the power outage?

 

BTW, my ISY is on a batt backup so does the variables even change if the power goes off then back on?

 

Thanks!

Link to comment

If ISY power does not drop variable would not change because of the house drop unless something external to the ISY changes variables when power comes back.

 

The Variable Init value is used to set the variable should the ISY be power cycled. Make sure the Init for each variable is set when the Variable itself is set.

Link to comment

jmed999-

Assuming that is your Home/Away mode toggle program, you would make it durable as follows:

 

If 
       $i.HomeAway is 0

Then
       $i.HomeAway Init = 1        
       $i.HomeAway Init To $i.HomeAway

Else
       $i.HomeAway = 0
       $i.HomeAway Init To $i.HomeAway

 

Anytime you set a variable and you want it to survive a power fail, you can follow up by setting the init to the current value.

 

-Xathros

Link to comment

One more question on this subject please...

 

I'm trying to get a notification sent if the iHome.Away variable is toggled. This is what I have...

 

If
       $i.Home.Sick is 1

Then
       Send Notification to 'My text' content 'iHome.Sick Toggle'

Else
       Send Notification to 'My text' content 'iHome.Sick Toggle'

 

This doesn't seem to be working though. Does it need to be a state variable to work in this program? Is that the problem?

 

Thanks for all the help!

Link to comment

From the wiki:

 

http://wiki.universal-devices.com/index ... _Variables

 

About state variables, it says:

 

"Identical to an Integer variable except that changes to the value do cause an event to be sent, causing programs to run"

 

This sounds a lot like a "yes" to me, in response to your question. If you change it to a state variable, make sure you check how this might affect any other programs that use this variable as a condition.

Link to comment

jmed999-

 

How are you toggling this mvar? If using only the program a few posts back, why not simply add your notifications to the Then and Else blocks along with the variables assignments?

 

-Xathros

Link to comment

Archived

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


×
×
  • Create New...