Jump to content

Programatic Control of KPL Scenes -- HOW?


smithjoy

Recommended Posts

Posted

I have a simple scene with three lights as responders, we'll call them R1, R2, and R3. I want three states of that group of lights, as follows:

 

OFF: R1 at 0%; R2 at 0%; R3 at 0%

SOFT: R1 at 30%; R2 at 50%; R3 at 15%

BRIGHT: R1 at 100%; R2 at 100% and R3 at 75%

 

I have defined a scene containing all three responders and two KPL buttons as controllers (KPL-C for SOFT and KPL-D for BRIGHT). For each controller KPL button, I set each responder to the desired level, including turning off the other KPL button.

 

So far, everything works perfectly for operating the scene manually. The buttons behave in a mutually exclusive manner (radio button behavior) and pressing the button that's already on turns the scene off. Excellent.

 

Now, here's where I'm stuck: I want to be able to set the scene to one of these levels programatically. For example, at dusk I want to turn the scene on to the SOFT level. But when there's a motion event, I want the scene to go to BRIGHT, then revert to SOFT after a period without motion.

 

Ideally, I'd like something like a INSTEON EXECUTE command that simulates a KPL button being turned on or off. Nothing like that exists (at least nothing that obvious).

 

Is there a simple solution that I've overlooked?

 

Thank you for any ideas!

Posted

I am curious...what device controls your lights? Inline linc?

 

My temptation would actually be to create two scenes. One soft. One bright. Each scene would have the same responders, but only the single, applicable controller. Set the scene attributes as you describe. Keep your buttons mutually exclusive.

 

Your programs would be nothing more than setting each scene, according to your described conditions.

 

if dusk

set scene dim on

 

if motion

set scene bright on

wait xx minutes

set scene dim on

 

You could, of course, do this the brute force method:

 

if dusk

set KPLC on

set r1 - xx

set r2 = xx

set r3 = xx

 

etc.... but I think I would try the first option.

Posted

Thanks, oberkc.

 

Well, my real setup is much more complicated that this. I simplified to isolate the real question -- is there a simple way to programatically set the scene just as the buttons on the KPL do (SOFT, BRIGHT, etc.)? Sounds like no.

 

Most of my lights (in this case) are SwitchLincs, a few LampLincs.

 

So, if my wish for a simple command has not been granted, I'll just make them into individual scenes. It's just more work to ensure the device list in each scene is identical to the other scenes.

 

If anyone else has any ideas/insights, that would be great. Otherwise I'll go the multi-scene route.

Posted

Any scene in the ISY can be controlled by the ISY. The ISY will use the settings in the base scene. Any other controller of the scene can have different settings, these settings are displayed when the controller is selected in the scene.

 

Rand

Posted

Thanks, Rand. Makes sense.

 

It would be great if there were a way to trigger an individual controller and have the Insteon network respond just as if the user had phyically activated that controller.

 

I don't even know if that's possible within the Insteon architecture and protocol. If it is, it would make a great programming construct for ISY.

 

I'd want things like TRIGGER ON, TRIGGER OFF, TRIGGER TOGGLE.

 

And possibly TRIGGER nn%, which for things like SLs would simulate the user holding the switch until it goes to a certain level.

 

This is uniquely different than just setting that one device (the controller) to a particluar state, it causes anything linked to that controller event to also happen in response.

 

Idea: If the Insteon protocol doesn't allow what I'm suggesting, could ISY "emulate" the controller? That is, could a TRIGGER function set the controller to the desired state and synthesize the Instenon commands on the network that the controller would have generated if it had been physically activated by a user.

 

ISY would have to watch out for potential infinite loops (a program that triggers a controller that launches the same program). But you guys are really smart and would find a creative way to trap or manage that.

Posted
I don't even know if that's possible within the Insteon architecture and protocol.

 

I have never been able to get this to work.

 

I am not sure that this helps, but one thing you can do through a program is adjust the on levels and ramp rates for devices within scenes. Perhaps this offers some options to accomplish your goals.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...