Jump to content

Direct Scene Brightness


fahrvergnuugen

Recommended Posts

Posted

It would be really great if the ISY supported setting direct brightness levels for Insteon Scenes. Today you can only send On, Off, FastOn, FastOff, Bright & Dim commands to an Insteon Scene. This request is to add the ability to send direct brightness levels to the scene.

 

It seems that the insteon protocol does not have commands for this, however I think it could easily be a feature that the ISY could support.

 

Consider the following Scene for a 4 way virtual dimmer switch:

 

  • Dining Room Scene
    • Dining Room Dimmer (with load)
    • Dining Room Dimmer (no load)
    • Dining Room Dimmer (no load)

 

It is currently impossible to adjust the dining room light to a specific brightness % and keep the LEDs of all three dimmer switches in sync without manually setting the brightness level three times by sending three discrete DON/<VALUE> commands to all three nodes.

 

 

My idea is to enhance the ISY so that if a REST command such as:

http://10.0.0.0/rest/node/<SceneAddress>/cmd/DON/<BrightnessValue>

is sent to the ISY, the ISY will loop through all of the dimmable devices in the scene and send discrete the brightness value commands so they are synchronized.

 
 
 
Some Related Posts that would be solved by this feature:
Posted

Not sure how that would work since part of the scene definition already includes an On-Level and Ramp Rate value for each device in the scene for each controller in the scene.  You can in fact set an On Level of 0% for a device in a scene that effectively turns a device off with a Scene On command.

 

To accomplish what you are asking, most would define another scene with the On Levels set differently then simply call the second scene when desired.

 

 

-Xathros

Posted

Not sure how that would work since part of the scene definition already includes an On-Level and Ramp Rate value for each device in the scene for each controller in the scene.  You can in fact set an On Level of 0% for a device in a scene that effectively turns a device off with a Scene On command.

 

To accomplish what you are asking, most would define another scene with the On Levels set differently then simply call the second scene when desired.

 

 

-Xathros

 

I'm not talking about on level or ramp rate, that's something completely different. I'm talking about setting the brightness of the scene adhoc. I want to drag a slider on my mobile app and set the dining room lamp to 65% brightness and have all of the dimmer switches also indicate that the light is set to 65% brightness on their LEDs.

 

Currently I can't because there is no way to tell a scene how bright it should be.

The only solution right now is a workaround where I would have to code my mobile app to lookup all the devices in a scene and synchronize them myself. It would be much better if the ISY simply supported setting a "scene brightness" level.

 

The main advantage of "smart" dimmers is being able to have a 3 way dimmer, something thats impossible with dumb switches. Why would you ever want the dimmers to be out of sync in a virtual 3/4/5 way scenario?

Posted

A scene definition INCLUDES the Brightness (On Level) for each member and controller combination in the scene.  I don't believe there is any way to send a command to set a scene as a whole to a specific brightness.  This is not a limitation of the ISY but rather I believe due to the way Insteon works.

 

Example:

 

A scene with 2 responder only switchlinc dimmers - One set with 100% On Level and the Other with a 50% On Level.  For this example, the ISY (PLM) is the only controller.

 

We turn On the Scene SLD 1 goes to 100% and SLD 2 goes to 50% as per the scene definition.  Now, what should happen if we Issued a Scene 65% command?

 

Does SLD 1 and 2 both go to 65% or does SLD 1 go to 65% and SLD 2 go to 32.5% (65% of 50) ?

 

Another way to skin this cat would be to use adjust scene statements to adjust the On Level of each member device and controller pair to the new desired brightness and then set the scene On again.

 

Hope that all makes sense.

 

-Xathros

Posted

I feel the same way fahrvergnuugen.  I love being able to use a slider to control a light switch.  I hate when I have a 3 or 4 way light and I can't use a slider and instead have to dim or brighten over and over again to get to my desired value.  You would think this could be programmed in place for scenes like this that are always at the same values for all items in the scene.

Posted

NHWA

 

Have a slider for the Scene.   When the Scene slider is moved use Adjust Scene statements to set the new responder value.

 

That way the Insteon capability of changing an individual remains available. 

Posted

A scene definition INCLUDES the Brightness (On Level) for each member and controller combination in the scene.  I don't believe there is any way to send a command to set a scene as a whole to a specific brightness.  This is not a limitation of the ISY but rather I believe due to the way Insteon works.

 

Example:

 

A scene with 2 responder only switchlinc dimmers - One set with 100% On Level and the Other with a 50% On Level.  For this example, the ISY (PLM) is the only controller.

 

We turn On the Scene SLD 1 goes to 100% and SLD 2 goes to 50% as per the scene definition.  Now, what should happen if we Issued a Scene 65% command?

 

Does SLD 1 and 2 both go to 65% or does SLD 1 go to 65% and SLD 2 go to 32.5% (65% of 50) ?

 

Another way to skin this cat would be to use adjust scene statements to adjust the On Level of each member device and controller pair to the new desired brightness and then set the scene On again.

 

Hope that all makes sense.

 

-Xathros

 

It does make sense, but what I'm suggesting is that upon receiving a "direct scene brightness" command, the ISY simply send a series of direct insteon commands to each of the devices in the scene.

 

So in your example, both SLD1 and SLD 2 would go to 65% (at whatever ramp rate is defined in the scene).

 

Now if you want to get fancy, it could also support relative direct scene brightness commands such as "increase 5%" or "decrease 15%". This would allow more fine tuning than the "bright" and "dim" commands that are available now. In this scenario if SLD1 was at 100% and SLD was at 50% and you sent a relative scene brightness command of "decrease 50%", then SLD1 would become 50% and SLD2 would become 25%. (and the lumens physically available in the real world would also be decreased 50% I guess?) - anyway, that's getting fancy. Its a good idea but lets take baby steps :)

 

 

This doesn't require any changes to the insteon protocol and would not affect the behavior of any existing scenes or scripts.

The scene's on levels and ramp rates would not be touched.

Posted

"So in your example, both SLD1 and SLD 2 would go to 65% (at whatever ramp rate is defined in the scene)."

 

Here is the first problem, A Direct Insteon command has no access to Scene information.  To "ramp at scene definition" requires knowing the Scene Ramp Rate, changing the Local Ramp Rate to the Scene Ramp Rate, then issuing a Direct On command.  This changes how an On paddle/button press operates unless after the Direct On has concluded the Local Ramp Rate is restored. 

 

 

post-707-0-58003600-1423619534_thumb.jpg

Posted

"So in your example, both SLD1 and SLD 2 would go to 65% (at whatever ramp rate is defined in the scene)."

 

Here is the first problem, A Direct Insteon command has no access to Scene information.  To "ramp at scene definition" requires knowing the Scene Ramp Rate, changing the Local Ramp Rate to the Scene Ramp Rate, then issuing a Direct On command.  This changes how an On paddle/button press operates unless after the Direct On has concluded the Local Ramp Rate is restored. 

 

Good point, but doesn't the ISY know the device's ramp rate in the scene?

Posted

Sure.  The point being the function has moved from a simple Direct On command to multiple commands per device.  It is hard to say it is a single command when it actually takes multiple commands because how Insteon devices work is not understood.  Nothing wrong with being a newbe, I certainly was 10 years ago.  However, that means what looks like simple function to provide new Insteon capability is never what it appears to someone starting out.

Posted

Sure.  The point being the function has moved from a simple Direct On command to multiple commands per device.  It is hard to say it is a single command when it actually takes multiple commands because how Insteon devices work is not understood.  Nothing wrong with being a newbe, I certainly was 10 years ago.  However, that means what looks like simple function to provide new Insteon capability is never what it appears to someone starting out.

 

Yeah, you're right. I thought about it after I posted that and realized that even if it knows the scene ramp rate, it has no simple way of telling it to use it.

I haven't looked, but I'm assuming there aren't insteon commands for targeting devices within a scene.

 

So long story short, it would have to ignore the ramp rate set in the scene and use the devices ramp rate instead.

Posted

It would also have to ignore devices in the scene that you want to remain off.

Posted

It would also have to ignore devices in the scene that you want to remain off.

 

I don't see this as a problem - but if it is, can't you just create another scene containing only the devices you want to set brightness levels for?

 

I think the practical usage for this is in simple scenes which are only created to make a virtual 3,4,5 etc way circuit. For more complex scenes like you are referring to, you simply wouldn't use/want/need this feature.

Posted

I don't see this as a problem - but if it is, can't you just create another scene containing only the devices you want to set brightness levels for?

 

 

 

A device can be a controller of only one scene.

Posted

A device can be a controller of only one scene.

 

Why does that matter? We're talking about dimmers responding to a command sent to the scene. The ISY is going to interpret it and send out direct commands anyway, so the concept of controller and responder doesn't really matter in this case. The scene is just a container.

Posted

fahrvergnuugen

 

In your Scene environment the question may not matter.  In the Scene environment the ISY looks at it is important.   There are devices that are Scene Controllers only.  They have no Responder capability so update commands of any kind cannot be sent.  Of course it is something the ISY can check for but it adds to the complexity of this new ISY/Insteon function.  More reasons why Scenes are a poor fit.  

Posted

fahrvergnuugen

 

In your Scene environment the question may not matter.  In the Scene environment the ISY looks at it is important.   There are devices that are Scene Controllers only.  They have no Responder capability so update commands of any kind cannot be sent.  Of course it is something the ISY can check for but it adds to the complexity of this new ISY/Insteon function.  More reasons why Scenes are a poor fit.  

 

The ISY already knows which devices are dimmable though, this is evident in the GUI and in the rest/nodes API which returns the device type.

 

It should be this simple:

foreach(device_in_scene as node){
  if(node->isDimmable()){
    send_brightness_command(value);
  }
}
Posted

How are you aware of the Scene structures inside the ISY or maybe are you familiar with the ISY internals?

 

This discussion is not going anywhere.   Several folks have expressed views and we will have to agree to disagree. 

Posted

How are you aware of the Scene structures inside the ISY or maybe are you familiar with the ISY internals?

 

This discussion is not going anywhere.   Several folks have expressed views and we will have to agree to disagree. 

 

I'm a programmer with 15 years experience in a dozen languages. The ISY is a computer, its not magic.

Posted

Entertaining thread, I had a variety of replies penned (some of you may have seem my stupidity for the one I posted and deleted).

 

I guess the issue here is a fundamental one about scenes and the group functionality it exposes?  I can see no command in the insteon command set to do what is needed, or rather that the two needed commands On / Fast on specifically ignore the cmd2 (level) :-(  oh well.

 

0x11 17 ON Level Go ON to the specified level (cmd2). In a broadcast group command, the cmd2 is ignored as it relies upon its internal at-link-time setting. DevCat 0x01, 0x02
 
0x12 18 Fast ON Level Go ON to the specified level (cmd2). In a broadcast group command, the cmd2 is ignored as it relies upon its internal at-link-time setting. DevCat 0x01 remembers level, DevCat 0x02 turns on to full. DevCat 0x01, 0x02

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)

    • There are no registered users currently online
  • Forum Statistics

    • Total Topics
      37.2k
    • Total Posts
      372.4k
×
×
  • Create New...