Jump to content

Vacation Settings


Recommended Posts

Posted

I would like to set some devices differently when I am on vacation.  Is there a way to say, "if Vacation = Yes", then...change a device?  If yes, can you assign this to a whole program folder?

What is the simplest way to proceed?  Thanks.

Posted (edited)
38 minutes ago, mfbrin said:

I would like to set some devices differently when I am on vacation.  Is there a way to say, "if Vacation = Yes", then...change a device?  If yes, can you assign this to a whole program folder?

What is the simplest way to proceed?  Thanks.

I don't recommend using a condition to disable a folder. Programs inside stop dead and may leave things off or On, in an undesired state. I find a lot more programming is needed to correct all the unknown states of things. Also programs inside a disabled folder cannot be tested. I do use a few to switch my security zones on and off though but they are all quick action temporary usage programs.

Create a state variable called  $sHouse.vacation (and one called $sHouse.occupied)
I use my ecobee thermostats to control this variable. Ecobee stats have future schedule built into them and are very reliable. I have tried other methods and the stats work the best. YMMV.

In the If section of programs that need it add the line
IF
    whatever trigger
   AND
   $sHouse.vacation is $cTrue  <------ $cTrue is an Integer variable permanently set to 1 as a constant
Then
       ......
Else  --

Note: $sHouse.vacation and $sHouse.occupied service two completely different needs in my programs.
$sHouse.occupied is $cFalse doesn't fake occupied lighting, TV lights, and still cycles my HRV system for fresh air because I will be home in a few hours.

Edited by larryllix
  • Like 1
Posted (edited)
11 hours ago, mfbrin said:

I would like to set some devices differently when I am on vacation.  Is there a way to say, "if Vacation = Yes", then...change a device?  If yes, can you assign this to a whole program folder?

What is the simplest way to proceed?  Thanks.

I use @firstone's Holidays Google nodeserver and created a calendar that I named 'Trip".

Whenever we go out of town, I add a whole day event for each day using the 'Trip' calendar.

In my ISY I have numerous programs * (wake-up, curtains, music) that act or not on the condition of the Trip node created by the Holidays Google nodeserver. This sounds more complicated than it really is and works great for me.

BTW I created 9 calendars for different type of events (ex when cleaning lady comes etc) and these are all incorporated in programs.

 

IF Trip Node Today  is Not True 

AND Time is 7 am

THEN Curtains open

 

Edited by asbril
  • Like 1
Posted
6 hours ago, larryllix said:

I don't recommend using a condition to disable a folder.

@larryllix's warning should be taken seriously, but I don't think it should keep anyone for using a condition to disable a folder.  Consider that any and every program can be stopped in an unknown state due to a power failure.  So you really should have some way to gracefully recover whether you're using folder conditions to control program execution, or not.

In my case, for long running programs in folders that are controlled by a condition, I use variables to know whether the program has completed.  If the program hasn't completed, then I either do not allow the folder control condition (a variable) to be changed, or I allow it to be changed, but then execute cleanup programs based on the values of the variables that are used to monitor the program execution.

Having said all that, the only things I'm controlling are lights, and pond pumps.  So if I've screwed up and haven't correctly accounted for all cleanup conditions, the worst that happens is a light (or completely submerged pond pump) remains ON or OFF when I would rather it be in the opposite state.

  • Like 1
Posted

I use a single state variable to called "sAway", it has 5 possible values

  • -1 Home mode, geofence disabled
  • 0 Home mode, geofence enabled
  • 1 Away mode, geofence enabled
  • 2 Away mode, geofence disabled
  • 3 Vacation mode, geofence disabled

Essentially using the portal nodeserver this variable mostly automatically changes between 0 and 1, that is If both mine and my wifes phone has left the geofence away mode is automatically set, when the first one of us returns home mode is set.

I have a selector in home assistant to set the other modes., -1 has never been used outside of testing purposes, but its purpose is example: out of town relative visiting that stayed home when we went out, etc., likewise for 2 its been mostly used for testing, setting away mode without leaving.  Away mode turns off things like inside accent lighting during the daylight hours, and hot water recirculation skips cycles.  Evening lighting is the same in away mode for lights that are normally timed everyday.  Just remember instead of using = in the if statement to use >= 1 for away mode, or <= 0 for home mode.

mode 3, vacation, does all the same things but also adds "random" lighting, like someone going to the bathroom, someone going to the garage for a minute on random evenings.  Or someone up late reading.  I've even got a random "opps wrong switch" that turns on back yard flood lights for 10 seconds at a random time on a random day. These are just a few examples of about 40 or so "randomness" programs.  Away mode also randomizes "bedtime" for the regular evening lighting.  Literally all of these "random" vacation lighting programs are contained in a folder with a folder condition... if $sAway = 3

A couple of tips for generating Randomness:   you can set variables to a random value, you can also set a variable to [Current day of week], 0=monday, 6=sunday-- I add 1 to this to make it easier to used with random numbers. for a couple of items that I want to occur on multiple random days, I use random numbers that are generated once a week between 1 and 127 to determine days, the math is too confusing to explain in a forum post... but if you understand binary numbers then 1 to 127 is 7 bits, one bit for each day of the week.

Another tip for random waits:  the wait statement does have a random checkbox that will say turn a wait 10 min into a random wait of 1 to 10 minutes.  If you desire a wait between 40 and 50 minutes, then use two waits in a row in the porgram, wait 40 min without random checked followed by a wait 10 min with the random box checked.

  • Like 2
Posted
41 minutes ago, mfbrin said:

This is a lot of great advice.  I will read it all and come back to you.  Thanks!

I'd be happy to give you tips how to make optimum use of the Holidays Google Nodeserver, It is magical for me.

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

×
×
  • Create New...