Jump to content

Newbie program /scene question


Recommended Posts

Hello,
 
Am I doing something wrong?
 
I have a basic scene with 2 responders, controlled by 3 different controllers. I want all 3 controllers to perform the same action but right now I (think I) need to write a line in the program for EACH controller for EACH responder. In the Else statement I will need to do THE SAME but with different values when the program turns False... ? Please tell me I'm doing this wrong and I can accomplish this in a lot less steps. I will need to do this for every scene thought-out the house? I hope not. I'm using 5.0.10.
 
Nighttime Kitchen
If
        Program 'Nighttime Level' is True (10PM to sunrise)
 
Then
​        (This is the scene)
        In 'Kitchen / Kitchen Lights' Set 'Kitchen / Kitchen Chandelier' To 40% in 2.0 seconds
        In 'Kitchen / Kitchen Lights' Set 'Kitchen / Kitchen Flush' To Off in 0.1 seconds
 
        (Dimmer)
        In 'Kitchen / Kitchen Flush' Set 'Kitchen / Kitchen Flush' To Off in 0.1 seconds
        In 'Kitchen / Kitchen Flush' Set 'Kitchen / Kitchen Chandelier' To 40% in 2.0 seconds, No retries
 
        (Dimmer)
        In 'Kitchen / Kitchen Chandelier' Set 'Kitchen / Kitchen Chandelier' To default
        In 'Kitchen / Kitchen Chandelier' Set 'Kitchen / Kitchen Flush' To Off in 0.1 seconds, No retries
 
        (Keypad button)
        In 'Laundry / Laundry Keypad / Laundry Keypad.Kitchen' Set 'Kitchen / Kitchen Chandelier' To 40% in 2.0 seconds, No retries
        In 'Laundry / Laundry Keypad / Laundry Keypad.Kitchen' Set 'Kitchen / Kitchen Flush' To Off in 0.1 seconds, No retries
 
Else
   (everything above but different levels).
 

post-9146-0-16599800-1512859899_thumb.png

Link to comment

I am a little unclear what it is you are trying to accomplish.

 

I don't use v5 software, so the syntax is a little different than I am used to, but it appears that the program you posted is adjusting the responder levels for a couple of controller/responder pairs.  Is this what you are trying to do?

Link to comment

Sorry about that. It's hard for me to wrap my head around this. Firmware version aside, this is what I have and what I'm trying to accomplish.

 

My scene Kitchen Lights ​includes 2 dimmers, both responders to the scene, they're also controllers together with another keypad button (not a responder to my scene). Pretty basic I think, 2 responders and 3 controllers. Everything works as expected. All 3 controllers have the same scene action. Pretty much both responders have on levels 100% and ramp rate @ 2secs for each controller. Great!

 

Now I want to add a schedule, so that between 10PM-sunrise when I Locally trigger the scene from any controller they would turn on 50%...right now I can accomplish this with what I posted above. It seems like that's a lot of lines of code to get a simple program working. What if I change my mind on the On Level for a device? I would have to go back to each line and adjust it. What if I add a controller or another light in the kitchen? I would have to adjust the program. Basically what I have doesn't seem scalable. 

 

Ideally this is what I envision for the Kitchen Nighttime Program- 

 

Nighttime Kitchen
If
        Program 'Nighttime Level' is True (10PM - sunrise (next day))
 
Then
      (Both lines below are created by Adjust Scene in the program )
        In 'Kitchen / Kitchen Lights' Set 'Kitchen / Kitchen Chandelier' To 40% in 2.0 seconds
        In 'Kitchen / Kitchen Lights' Set 'Kitchen / Kitchen Flush' To Off in 0.1 seconds
 
        (With these 2 lines of code, I want all my scene controllers to trigger the scene with the above settings. If you look at my screenshot above, I have to write these two lines for every controller in the scene.)

Else
        In 'Kitchen / Kitchen Lights' Set 'Kitchen / Kitchen Chandelier' To 100% in 2.0 seconds
        In 'Kitchen / Kitchen Lights' Set 'Kitchen / Kitchen Flush' To 100% in 0.1 seconds
 
 

 

Link to comment

<edited, nevermind original -- I think I see what you intend>

 

Answer: Nope, what you wish cannot be easily done.  It's not something the Insteon protocol designers envisioned way back when they thought this up.  A single button/paddle can activate only a single scene, and the overhead to modify that scene from a controller is rather tedious and significant.

 

What's worse than the ugliness of the code is that the amount of traffic, and thus time, it takes to adjust the scene makes setting these values very susceptible to noise and interference.  I gave up on the program that dimmed down the backlights on my KPLs all over the house, because I so commonly ended up with one KPL somewhere sticking out like a sore thumb at night because it didn't get the message to dim it's backlight.

Link to comment

Also, now that I think about it, I had to create separate attributes for each controller of the scene. I was literally doing the same thing 4 times.


 


Is there a way to have all my scene controllers always use/ sync with the main ISY scene controller attributes? In 4.6 you can Copy attributes from the main ISY scene controller but if the ISY controller attributes are changed later, the individual local controller attributes remain and don't change.


 


If there's a way to sync my program with 2 Then lines would work! 

Link to comment

@mwebster -- I love that idea! From my perspective, creating a separate overnight scene sounds great.... BUT :( when I say Alexa turn on kitchen at night... it just wont happen. I would need to add 2 scenes to alexa, and the end user would have to know to say Kitchen overnight ON.

 

I completely understand why you can't and shouldn't be able to dim a scene. (mwebster changed replied).

 

Am I out of line to try to sync the ISY scene controller attributes with other controllers(keypads/dimmers) ? It's one scene at set attributes for each device, I will always have the same attributes for each device no matter how the scene is triggered.

Link to comment
It seems like that's a lot of lines of code to get a simple program working.​

 

It sounds to me as if you are doing this correctly.  Unfortunately, each controller/responder relationship must be addressed individually.  With three scene controllers and two responders, that becomes quite a few lines of program action.

Link to comment

It sounds to me as if you are doing this correctly.  Unfortunately, each controller/responder relationship must be addressed individually.  With three scene controllers and two responders, that becomes quite a few lines of program action.

 

Thanks... I better get clicking instead of wasting time trying to find an easy way to do this.. but I do have a dozen of scenes and even more devices to program on a schedule. I was hoping installing the hardware would be the hardest and most time consuming task.  I really can't believe my TV keypad button would be a lot easier and less time consuming than doing this. I can say Alexa turn on TV, within 2 seconds my keypad button lights up, I can turn it off locally on the button and the TV turns off. I understand why something like that would take a lot of trial & error..but this scene controller issue..I'm mind blown. 

Link to comment

Thanks... I better get clicking instead of wasting time trying to find an easy way to do this.. but I do have a dozen of scenes and even more devices to program on a schedule. I was hoping installing the hardware would be the hardest and most time consuming task.  I really can't believe my TV keypad button would be a lot easier and less time consuming than doing this. I can say Alexa turn on TV, within 2 seconds my keypad button lights up, I can turn it off locally on the button and the TV turns off. I understand why something like that would take a lot of trial & error..but this scene controller issue..I'm mind blown. 

 

Unfortunately, this is a classic case of the relationship between flexibility and complexity.  Having responders behave differently for each controller is nice, and provides a lot of opportunity for lighting control.  Unfortunately, that opportunity comes with a cost.

Link to comment

I think underlying problem here, if I understand what you’re trying to do correctly, is that your responders are also controllers. When you use a switch to activate a scene in which that switch is also a responder, the light attached to that switch will turn on based on a local “on” level and ramp rate. The other responders will respond based on the scene settings. This is rooted in the differences between an ISY “Scene” and an Insteon “Group”, which is explained in he Wiki rather well. However, don’t know why you would need to change the settings for the laundry room KPL. Just adjusting the scene should be enough.

Link to comment

I do not recall whose idea it was, but one of the regulars has long recommended an alternative approach to night time lighting levels with the ISY that avoids rewriting scene definitions every day.  Granted, there is some benefit to having the levels coded directly into the devices, you just have to deal with all the traffic and implications of failed writes.

 

The alternative approach is to instead program all your scenes directly to the night time levels and leave them that way all the time.

Then you simply listen for a scene being turned on during any other time of the day and activate a secondary scene programmatically.  It is said that with a reasonable ramp rate, perhaps 2-3 seconds, the response time of the ISY program is transparent to the eye, and it feels like the light is just turning on directly to the desired level.  If for some reason it fails, you always have the option to double tap for fast-on.

 

Hopefully the originator of this technique will chime in.  edit: it is larryllix, but I didn't find an exact explanation in a quick search.  Edit again, read the discussion between Larry, Gary, and Stu here:  https://forum.universal-devices.com/topic/20484-adjust-local-on-level/

Link to comment

Archived

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


×
×
  • Create New...