Jump to content

Newbie with best practices/general questions


n8huntsman

Recommended Posts

Posted

I've got several basic questions to make sure I set this up right from the beginning.

First, I've created a scene that simply turns on a dimmer and linked it to the non-load button of a kpl.  I'd like to create a brightening/dimming routine that runs throughout the night before it finally turns off.  Is this best accomplished with multiple scenes and programs scheduled throughout the night, or can I do something like the following program with a single scene?

Sunset Bar Lights - [ID 0004][Parent 0001]
If        From    
Sunset        
To       9:00:00PM (same day) 
 
Then        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 0.1 Sec (Ramp 
Rate)        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 12% (On 
Level)        Set Scene 'Outdoor Bar 
Lights' On        Wait  30 
minutes        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 30.0 Sec (Ramp 
Rate)        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 30% (On 
Level)        Wait  30 
minutes        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 30.0 Sec (Ramp 
Rate)        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 50% (On 
Level)        Wait  30 
minutes        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 30.0 Sec (Ramp 
Rate)        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 70% (On 
Level)        Wait  30 
minutes        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 30.0 Sec (Ramp 
Rate)        In Scene 'Outdoor Bar 
Lights' Set 'Outdoor Bar' 20% (On Level) Else   - No 
Actions - (To add one, press 'Action')

I tried the above program and the lights turned on at 12% and stayed that way.  There were no subsequent changes.  I didn't wait to see if they eventually turned off or not; just assumed I had something amiss.

 

Second question, my programs are in a "My Programs" folder, I assume created by default because I didn't create it.  The folder itself appears to have a rule that says, "

My Programs - [ID 0001][Parent 0000]
Folder Conditions for 'My Programs'
If        Time is  
1:05:00PM Then   Allow the programs in this folder to 
run.

Does this mean that the programs within will only run at precisely 1:05 PM?  I know this isn't the case because they run seemingly whenever the program is scheduled.  But I don't know what this rule is actually saying.

 

Thanks for your help and I apologize if the answers are clearly posted somewhere.  I'm new and am still in that overwhelmed stage.  Hope you can all remember what that was like.

 

 

 

 

Posted (edited)

The My Programs folder is created by the ISY.   The Condition in that folder is not expected and not defined by ISY.  Delete the Condition in the My Programs folder.

 

===================================================================================
My Programs - [iD 0001][Parent 0000]
 
Folder Conditions for 'My Programs'
 
If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
   Allow the programs in this folder to run.
Edited by LeeG
Posted

N8huntsman...

 

Your program, you have a "set scene 'outdoor bar lights' on" statement initially, but fail to include the same statement after each 30 minute interval. This statement is required at each 30 minute to activate the scene at the new levels.

 

I don't see any advantage to using multiple scenes and programs versus your creative approach.

 

I see nothing in your program that turns the lights off.

 

Understand, also, that if 9pm occurs while this programs is executing, it will halt.

Posted

 

The My Programs folder is created by the ISY.   The Condition in that folder is not expected and not defined by ISY.  Delete the Condition in the My Programs folder.

 

===================================================================================
My Programs - [iD 0001][Parent 0000]
 
Folder Conditions for 'My Programs'
 
If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
   Allow the programs in this folder to run.

 

Thanks.  I have updated my folder program to match yours. 

 

N8huntsman...

 

Your program, you have a "set scene 'outdoor bar lights' on" statement initially, but fail to include the same statement after each 30 minute interval. This statement is required at each 30 minute to activate the scene at the new levels.

 

I don't see any advantage to using multiple scenes and programs versus your creative approach.

 

I see nothing in your program that turns the lights off.

 

Understand, also, that if 9pm occurs while this programs is executing, it will halt.

Ahh, I see.  I thought if the scene was already on the program would just update the scenes parameters.  I have added additional on commands.

Will the scene not turn itself off at 9:00 when the program stops?  If not, how would I tell it to turn off at a specific time?  When the program "halts" what will occur?

Thanks

Posted
Ahh, I see.  I thought if the scene was already on the program would just update the scenes parameters.  I have added additional on commands.

 

No.  The updated parameters are only the response levels to be applied the next time the scene is fired from the specified controller (in this case, the PLM).

 

Will the scene not turn itself off at 9:00 when the program stops?  If not, how would I tell it to turn off at a specific time?  When the program "halts" what will occur?

 

No.  At 9:00, the program is triggered and evaluated, where it will be FALSE.  Were this program executing the THEN path when this happens, any wait condition will be halted and the ELSE path will run.  Since you have no action in the ELSE path, nothing will happen beyond the program halting.

Posted

Gotcha.  Makes sense.  So I will add an action to turn them off inside the else path.  Now I need to figure out an override; for example if I were having a party and wanted the lights on brighter till I turn them off.  I'm thinking of using a variable for that.  If I manually turn the lights on, it will trigger a manual variable.  The program will check to see the variable before executing.  I'm starting to get it but I'm sure I'll run into a few more issues.

Posted

If a program turns a responder in a scene on, and that responder is part of a different scene that includes a kpl button as a controller, is the kpl button considered "on"?  trying to figure out my override variable it's seeming more complex than it was originally when I first thought about it.

I was gonna create a scene that includes a kpl button and turned on the bar light. Then a program that says if the scene is on, the variable is true.  Then to the program above add, "and variable = false" to the condition and change the scene to a new scene that does not contain the button and simply turns the lights on.

My concern is that when the program above executes, the lights will turn on which will, in turn, turn on the kpl button which will change the variable and then cause the conditional argument to fail.  Head is spinning!  I don't expect anyone to understand what I just typed.  I will try to map it out to make it more understandable unless someone has a simpler idea.

Posted
If a program turns a responder in a scene on, and that responder is part of a different scene that includes a kpl button as a controller, is the kpl button considered "on"?

 

No.  Turning on a responder in a scene does not cause any controller of that responder to react, in any way, unless that controller is a part of that same scene that was just turned on.  Furthermore, turning on a a scene that includes a controller device (from another scene) does not cause responder devices from that other scene to react.  The only time a device behaves as a controller is when it is acted upon locally.  When a scene is activated via the ISY, the only devices that respond are those directly in that scene.

 

 

Now I need to figure out an override; for example if I were having a party and wanted the lights on brighter till I turn them off.  I'm thinking of using a variable for that.

 

I have the same philosophy about variables as I do about programs: use only when one must.  For my purposes, I have found very few times when variable were necessary.

 

A variable is not necessary for an override, but it is certainly an option.  I simply use a program such as:

 

if

control "switchX" is turned on

and control "switchX" is not turned off

then

nothing

else

nothing

 

This program acts as my status tracker.  If this program is TRUE, then the switch was manually turned on when most recently activated manually.  If this program is FALSE, then it was manually turned of most recently.  The program status (rather than a variable) could then be used as a program or folder condition.

 

Generally, one can disable programs, or put programs in a folder that can be disabled, or use program conditions, to decide whether to react to motion sensors.  Use a variable as a condition.  Use program status as a condition.  Either works and is a personal preference as far as I am concerned.

 

If you use variables, be aware of the difference between STATE and INTEGER variables regarding their behaviour as a program trigger and plan accordingly.

Posted

KPL buttons and the LEDs behind the buttons are separate Insteon devices. One is a controller and one is a responder.

So if you like to use your KPL button backlights  to tell if a particular device is on or off, would you add the following to all your programs that turn the device on?

Then        Set 'Kitchen / Kitchen - B' 
On 15 / Off 15 (Backlight Level)

So with the device on, even though the button is technically off, the light will still be on?

 

Posted

You can just add the KPL button to a scene as a responder.

Posted (edited)

if

control "switchX" is turned on

and control "switchX" is not turned off

then

nothing

else

nothing

This confuses me.  What would be the case where it is "turned on" but not "not turned off"?  Seems like the two conditions are logically equivalent, no?

 

edit: after some thinking, does the second condition cause the program to reevaluate when the light is switched off?

Edited by n8huntsman
Posted (edited)

This confuses me. What would be the case where it is "turned on" but not "not turned off"? Seems like the two conditions are logically equivalent, no?

It's been a while - I hope I get this right....

 

In this case, 'is on' will trigger 'Then' when 'on' is pressed and 'not off' will trigger the 'Else' to run if the switch is turned off. Without the second clause, the 'Else' will never run when the light is switched off - only the 'Then' when the switch is turned on - which makes the program useless for status.

 

Michael.

Edited by MWareman
Posted

Your edit thought is correct. About the proposed program....

 

-I want to know when a given device is controlled manually. This suggests using CONTROL sconditions.

- CONTROL...ON triggers upon reciept of ON commands only. It is TRUE at that moment ON is recieved, otherwise FALSE at all other times.

- COMTROL...OFF triggers upon reciept of an OFF command, it is FALSE at that moment and true at all other times.

 

The two statements combined will trigger upon reciept of either ON or OFF commands and will evaluate TRUE when ON and FALSE when OFF. This tracks the last command from the given device.

Posted

In V5 there is no "control" as the word has been removed. We will all have to start using the verbs "switched" and "status" to be compatible with pre and post v5.

Posted

In V5 there is no "control" as the word has been removed. We will all have to start using the verbs "switched" and "status" to be compatible with pre and post v5.

 

"Switched" is, arguably, a better way to describe the condition.  I doubt that this will be hard to adjust to.

Guest
This topic is now closed to further replies.

×
×
  • Create New...