Jump to content

Vacation routines


BobM99

Recommended Posts

I am transitioning from X-10 ActiveHome to the UD Administrative Console. This should give you some idea of how far behind the times I am.

I have my ISY994i set up to control the X-10 switches. Now I want to set the lights to go on and off to give the house a lived-in look when I'm away. With ActiveHome I had a different routine for each season of the year, 4 different .ahx files that I would download to an X-10 CM11A before I went on vacation, and then remove when I got back.

I am lost as to how to create similar routines with the UD Administrative Console, and then activate and deactivate them as needed.

I hope I am making sense, and I appreciate any help. 

Thanks.

Bob

 

 

Link to comment
52 minutes ago, BobM99 said:

I am transitioning from X-10 ActiveHome to the UD Administrative Console. This should give you some idea of how far behind the times I am.

I have my ISY994i set up to control the X-10 switches. Now I want to set the lights to go on and off to give the house a lived-in look when I'm away. With ActiveHome I had a different routine for each season of the year, 4 different .ahx files that I would download to an X-10 CM11A before I went on vacation, and then remove when I got back.

I am lost as to how to create similar routines with the UD Administrative Console, and then activate and deactivate them as needed.

I hope I am making sense, and I appreciate any help. 

Thanks.

Bob

 

 

Welcome to the UDI forums!

 

Here is one I use.

Note the usage of Fast On/Off to attaract the eyes of watching neighbours. this is not normally wanted lighting ramps.

Fake TV and Bed - [ID 0033][Parent 0031]

If
        Time is Sunset  + 30 minutes
    And $sHouse.armed is $cTRUE
 
Then
        Set 'Gathering Room / PotLights over Chairs' Fast On
        Wait  2 seconds
        Set 'Gathering Room / PotLights over Chairs' On 30%
        Wait  1 hour 
        Wait  2 hours  (Random)
        Set 'Gathering Room / PotLights over Chairs' Fast Off
        Wait  10 seconds
        Set 'Master Bedroom / MBR Wall Lamp' Fast On
        Wait  10 minutes 
        Wait  10 minutes  (Random)
        Set 'Master Bedroom / MBR Wall Lamp' Fast Off
        Run Program 'Fake TV and Bed' (Else Path)
 
Else
   - No Actions - (To add one, press 'Action')
 

 

I have a very long sequence of getting out of bed, walking through the house and looking in each bedroom, seveal porches going outside, and returning to bed, but we'll start with something  little easier.

Ask away!
 

Link to comment

Building on larryllix's post, you could create four programs like that, one for each season.  Then simply disable all of them (right-click on the program and choose "disable").  Then when you go on vacation, right-click on one of the programs and enable it.  When you return from vacation, right-click on the program and disable it.

Link to comment

Creating a group of programs would certainly work.  The ISY has the concept of folders as well and folders can have an IF statement as well.  Programs within the folder only run if the IF of the folder evaluates to TRUE.  So you could have a folder for each season, and then within the folder put all the programs you want to run while your on vacation during that season.

Link to comment

As suggested, I have a vacation folder that only runs when the vacation variable is 1. One thing to be careful of, you still need the if vacation = 1 in each program in addition to any other logic. My normal sunset lighting program checks to make sure vacation and away are 0. Using sunset and random waits as in the example is very effective at making the house look occupied. I also send myself messages if any motion or doors are opened while away, turn on lights and have Alexa scream "intruder alert". My arriving home program sets away and vacation back to 0. I'm still using x-10 too, figured I'd make use of all the gear I had. I used all my x-10 on one side (phase) of the house and did the rest with z-wave. Welcome and enjoy the journey.

Link to comment
17 minutes ago, TexMike said:

As suggested, I have a vacation folder that only runs when the vacation variable is 1. One thing to be careful of, you still need the if vacation = 1 in each program in addition to any other logic. My normal sunset lighting program checks to make sure vacation and away are 0. Using sunset and random waits as in the example is very effective at making the house look occupied. I also send myself messages if any motion or doors are opened while away, turn on lights and have Alexa scream "intruder alert". My arriving home program sets away and vacation back to 0. I'm still using x-10 too, figured I'd make use of all the gear I had. I used all my x-10 on one side (phase) of the house and did the rest with z-wave. Welcome and enjoy the journey.

I was using the folder logic but when it turns false  it can leave programs inside stopped dead, with lights on in the middle of a "fake occupied" sequence. The "vacation is False" condition in the programs will never be evaluated and run once the folder is disabled. At best you could have a race and randomly execute some lines.

Link to comment

My arriving home program checks to see if it's after sunset and then sets all lighting to my normal occupied status. I haven't seen a problem, but I see your point. Do you know if a wait will still cause the program (not the folder) to reevaluate the if away = 1 and stop running? If it does then I may be dodging the bullet since my vacation lighting is full of waits.

Link to comment
18 minutes ago, TexMike said:

My arriving home program checks to see if it's after sunset and then sets all lighting to my normal occupied status. I haven't seen a problem, but I see your point. Do you know if a wait will still cause the program (not the folder) to reevaluate the if away = 1 and stop running? If it does then I may be dodging the bullet since my vacation lighting is full of waits.

Wait doesn't cause program to be reevaluated. Wait allows the ISY O/S a chance to run other tasks. Another task may be something changed that can cause your If lines to be re-evaluated.

 When you disable a program it will stop at the next time delay (wait or Repeat) . When a folder is disabled you cannot manually run a Then or Else in a program residing inside the folder. That seems like a bug to me.

I have never tested the folder disable to know where it would stop. An easy test could be to design a program with alternating waits and increment a variable and then disable the folder when that variable is >= 3, and see the result.

Link to comment
18 minutes ago, larryllix said:

When a folder is disabled you cannot manually run a Then or Else in a program residing inside the folder. That seems like a bug to me.

At first I thought it seemed like a bug too, but when I thought through all the ramifications, I think the way UD has implemented it makes the most sense.

Any time you have a sequence of instructions, especially when you include WAITs, there is a chance that only a portion of the sequence will be completed.  This might be because of a power failure, a folder's condition becoming false, a program's conditions changing, or a program being halted by another program.  In each case, it's important to know whether remedial action should be taken.  If it should, there's generally a way to make it happen, whether it be via THEN/ELSE logic or a state variable that triggers the appropriate remedial program.

Link to comment
25 minutes ago, kclenden said:

At first I thought it seemed like a bug too, but when I thought through all the ramifications, I think the way UD has implemented it makes the most sense.

Any time you have a sequence of instructions, especially when you include WAITs, there is a chance that only a portion of the sequence will be completed.  This might be because of a power failure, a folder's condition becoming false, a program's conditions changing, or a program being halted by another program.  In each case, it's important to know whether remedial action should be taken.  If it should, there's generally a way to make it happen, whether it be via THEN/ELSE logic or a state variable that triggers the appropriate remedial program.

Huh? I don't understand the relevance of your point at all! :)  It sounds like you are talking about detection of a failed program???


Do you not think we should be able to test  run a program manually, inside a False folder? For programs, being disabled means no triggers will activate it. For a folder, the logic means the programs inside will not run and cannot be tested.

Either way, some kind of flag should indicate that the program doesn't run instead of appearing to run, leaving the debugging person wondering what happened.

 

 

Link to comment
1 hour ago, larryllix said:

Do you not think we should be able to test  run a program manually, inside a False folder? For programs, being disabled means no triggers will activate it. For a folder, the logic means the programs inside will not run and cannot be tested.

Either way, some kind of flag should indicate that the program doesn't run instead of appearing to run, leaving the debugging person wondering what happened.

You can test a program in a FALSE folder...  you just have to make the folder condition TRUE.  ?

You pointed out the distinction between a program that was manually disabled and a program within a FALSE folder.  The former won't be triggered automatically but can be manually triggered, while the latter can't be triggered at all.  I like having two different capabilities.  Besides, let's say that you were able to manually start a program within a FALSE folder - how does the system know when to stop it?  If you start the THEN clause should it be able to call its own ELSE clause?  If so, what happens if either the THEN or ELSE starts another program in the FALSE folder?  Should that program run?  What if the THEN or ELSE starts another program outside the FALSE folder, should that "external" program be able to startup up the same or another program within the FALSE folder?  If you don't allow all those things to happen, then you can't really completely test all possible programs within a FALSE folder even if you can manually start one up.  And if you do allow all those things to happen, then you're not really testing the IF clause of the folder because it should cause a program to stop when it goes FALSE.

Edit: But I do agree that there should be some indication that the program didn't actually run when you try to start it manually.

Link to comment
16 hours ago, larryllix said:

I was using the folder logic but when it turns false  it can leave programs inside stopped dead, with lights on in the middle of a "fake occupied" sequence. The "vacation is False" condition in the programs will never be evaluated and run once the folder is disabled. At best you could have a race and randomly execute some lines.

 

14 hours ago, larryllix said:

Huh? I don't understand the relevance of your point at all! :)  It sounds like you are talking about detection of a failed program???

 

5 hours ago, larryllix said:

@kclenden Full agreement with your logic there. The lack of indicatio is the only real problem. It seemed like your response was a misunderstading of my point. I still don't understand the relevence yet. :)

I often misunderstand things, though not intentionally.  ?  To me, your posts made it sound like using a folder condition to control the execution of programs should be avoided because it can cause a program to be "stopped dead".  I was pointing out that there are lots of things that can cause a program to stop before it has completed, and so dealing with that uncertainty when it's caused by a folder going FALSE is really no different than dealing with it being caused by a power failure (or other causes).

Link to comment
On 2/19/2019 at 2:53 PM, kclenden said:
I often misunderstand things, though not intentionally.    To me, your posts made it sound like using a folder condition to control the execution of programs should be avoided because it can cause a program to be "stopped dead".  I was pointing out that there are lots of things that can cause a program to stop before it has completed, and so dealing with that uncertainty when it's caused by a folder going FALSE is really no different than dealing with it being caused by a power failure (or other causes).

Well I was but I'm not going to admit that now. :)

There is a point though people should be aware of...that things can be left in a state not wanted by using folder conditions. I have used a few but mostly aborted the practice due to being a problem with clean up on aisle 2.

It is easier and less dangerous to just not use folder conditions and write complete programs with all conditions in plain view, maybe using a properly named variable for common functions.

Sent from my SM-G930W8 using Tapatalk
 

Link to comment
1 hour ago, larryllix said:

It is easier and less dangerous to just not use folder conditions and write complete programs with all conditions in plain view, maybe using a properly named variable for common functions.

I think that's true for most of the things people might want to program.  But when it comes to having a selection of programs that you want to enable/disable based on a common set of conditions (admittedly probably an uncommon need), I'll take the simplicity of a folder any day.  Reminds me of having to program in LISP in college.  If you needed to process a list of items, nothing could be simpler than a LISP program.  If you needed to do anything else, LISP would lead you down a dark, dangerous path that would almost certainly lead to derangement.

Link to comment
I think that's true for most of the things people might want to program.  But when it comes to having a selection of programs that you want to enable/disable based on a common set of conditions (admittedly probably an uncommon need), I'll take the simplicity of a folder any day.  Reminds me of having to program in LISP in college.  If you needed to process a list of items, nothing could be simpler than a LISP program.  If you needed to do anything else, LISP would lead you down a dark, dangerous path that would almost certainly lead to derangement.
I confess, I do use the folder switch for my security programs. In that case there really isn't any residue that can happen from killing any program in the middle of a program sequence.

Lighting may be a different situation. Mechanical device control could create an even worse situation but the old lesson still stands...don't create dangerous situations by controlling the wrong devices. The rest don't really matter.

Sent from my SM-G930W8 using Tapatalk

Link to comment

Archived

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


  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

  • Forum Statistics

    • Total Topics
      36.9k
    • Total Posts
      370.2k
×
×
  • Create New...