Jump to content

An idea for improving scene management


JacquesB

Recommended Posts

Hi,

 

here is a suggestion that could help scene management from the controller :

 

Definition :

1-A scene is ON when all its components are at or higher than the level defined in the scene.

2-Otherwise, the scene is Off

 

Let say Scene A uses devices 1, 3 and 5 at 80%

Scene B uses devices 1 and 2 at 100%

Scene C uses devices 2 and 4 at 50%

Scene D uses devices 3 and 5 at 80%

Scene E uses all devices at 60%

 

Next matrix would be easy to update and would give the status of all scene quickly.

 

______A-Set ; A-Stat ; B-Set ; B-Stat ; C-Set ; C-Stat ; D-Set ; D-Stat - E-Set ; E-Stat

Dev_1...0,2......................0......................1.......................1...................0,4

Dev_2....1........................0.....................0,5.....................1...................0,4

Dev_3...0,2......................1......................1......................0,2.................0,4

Dev_4....1........................1.....................0,5.....................1...................0,4

Dev_5...0,2......................1.......................1.....................0,2.................0,4

 

 

All “Scene Settings columns†are static.

They are set to 1 minus the Level required to be true.

 

When a device is turned On, Off or adjusted to a specific level, its actual level is added to the setting and saved in the “Scene Status Columnâ€, with a maximum value of 1.

 

A scene is true when all values in its status column are 1.

It is false otherwise.

 

When a scene turns true of false, change its controller's depending of the case.

 

A change in a device status is propagated easily to all scenes by updating a single row.

 

Only columns where a value changed need to be checked for a scene status change.

 

It would be easy to re-define when a scene is On :

All its devices are On, no matters at what level. Then all settings for required devices are 0,9 and those not needed are 1.

 

Instead of additions, all Scene Stat cells could be defined as "If actual > than Setting". It would need a column for the actual level of the device at the beginning of each row. That would save CPU time and be closer to the event-based programming your are already doing.

 

It would also be possible to define the status part as "If actual = setting", so only a perfect match would trigger a scene as On.

 

Hope it helps you to figure out a way for processing scene status by controller from device status,

 

Jacques

Link to comment

Hi Jacques,

 

I must say WHOOAH ... very interesting and definitely something we'll consider. Would you be kind enough to let me know what you mean by Scene? Is it an ISY Scene or a scene controlled by a controller within an ISY scene? Are you only after the status of ISY Scene?

 

With kind regards,

Michel

Link to comment

Hi,

 

a scene would be defined as the sum of all the load affected by a single Insteon action. Should more than 1 Insteon command triggers the same group of devices in the same way, they would still be considered only as a single scene.

 

Should a network be composed of :

A pair of dimmers linked as a virtual 3-way

An 8 buttons KeypadLinc

An Insteon switch

and a LampLinc

 

They are linked such a way that :

The B-Button of the KeypadLinc turns On its main load, the lamp and the 3-way.

Either the 3-way or the C-Button turns On the 3-way and the switch

 

The first scene would be composed of :

The main load of the KeypadLinc

The lamplinc

The primary dimmer of the 3-way

 

The secondary dimmer, being only a controller without any load, would not have to be monitored, so would not be part of the scene in the matrix. The B would not be part of it either because it does not have a load of its own.

 

The second scene would be composed of :

The primary dimmer of the 3-way

The Insteon switch

 

Again, the secondary does not need to be monitored.

The C-Button does not need to be monitored either because it has no load.

 

The matrix would have 2 columns (scene A and B) and 4 rows (Primary dimmers, switch, lamplinc and Keypad Main).

 

Everything is off at the first moment.

The first scene is turned On.

The switch is manually activated

The matrix will detect that now, the second scene is true, so the C-Button on the Keypad will be turned On. Itself is not part of the matrix, so does not generate a re-evaluation of it.

The C-Button is turned Off, closing the 3-way and the switch.

Now, the first scene is not true anymore, so the button B on the KeypadLinc is turned Off automatically.

 

Another option would be to not turn a scene Off before all of its members are turned off. In this case, the button B would remain On.

 

The matrix will offer the automatic management of the KeypadLinc buttons, turning them On and Off, reflecting the status of the scene they manage.

 

It would also be an opportunity for launching programs or variables, based on the status of a scene instead of the status of devices or specific Insteon control :

If "Scene A" becomes True

Then :

 

Run program ABC (Then part)

 

...

 

If "Scene B" become False

Then :

Run program DEF (If part)

...

 

 

The status matrix would make the ISY controller much more aware of the actual state of the network / of the house, not only on a device basis, but now on both a device and a scene basis.

 

Happy to see that you are interested by my idea,

 

Jacques

Link to comment

Hi Jacques,

 

Thanks so very much for a detailed response. I think I am still a little fuzzy on what you consider a scene. For me, a scene is: an ISY scene OR a controller within an ISY scene. Let me elucidate:

 

ISY Scene: LL1=10%, LL2=20%, LL3=30%, SWL=40%, KPL=50%

LL1 - Responder

LL2 - Responder

LL3 - Responder

SWL - Controller: LL1=20%, LL2=30%, LL3=40%, SWL=50%, KPL=60%

KPL - Controller: LL1=30%, LL2=40%, LL3=50%, SWL=60%, KPL=70%

 

In this example, ISY Scene, SWL, and KPL all control the same set of devices (with loads) but each has a different profile. I am not sure how your algorithm would produce the correct result regardless of how these devices are turned on.

 

Thanks again so very much.

 

With kind regards,

Michel

Link to comment

Hi,

 

for the status matrix, the definition of a scene must be modified. If not, the matrix will be of little use.

 

All responders must be included.

Controllers / responders managing a load must also be included because they are part of the result the user is looking for.

 

Controllers only, those without loads, must be excluded because the status matrix would never turn On while they are not turned On manually.

 

From my point of view, your description is a set of three scenes with a single controller each. My definition was incomplete in my last message because I did not mention that the same device, used with 2 different settings, have to be considered as 2 different load.

 

The 3 LLs are part of the status matrix because they are responders in at least one scene. The switch is also part of it because it has a load of its own and his part of at least a scene. The keypad will be part of it only if you are talking about its Main Load (A-Button), but not if you are using any other button.

 

With your 3 scenes, the status matrix based on the addition and the minimum level logic would be :

 

LL1 ; 0,9 ; X ; 0,8 ; X ; 0,7 ; X

LL2 ; 0,8 ; X ; 0,7 ; X ; 0,6 ; X

LL3 ; 0,7 ; X ; 0,6 ; X ; 0,5 ; X

SWL ; 0,6 ; X ; 0,5 ; X ; 0,4 ; X

KPL-A ; 0,5 ; X ; 0,4 ; X ; 0,3 ; X

 

 

If your Keypad button it not the A, it would not be part of the matrix. But because you say it is at XX%, it must be associated to another load you did not mention. That load would need to be part of the matrix. The result would be :

LL1 ; 0,9 ; X

LL2 ; 0,8 ; X

LL3 ; 0,7 ; X

SWL ; 0,6 ; X

ABC ; 0,5 ; X

 

+ the others columns...

 

Here, the matrix would be used to turn On the Keypad button when all other devices status are high enough for turning the status of the scene to True. It would also be usable for starting programs / setting variables.

 

The ISY being lower than all other, no other scene would turn true with it.

 

When the switch is turned On, the status matrix will flag the ISY scene as True and will turn On the keypadlinc button if your case uses another one then A.

 

If your button on the Keypadlinc is not A, turning On that button will flag both other scenes as True in the controller.

 

The status matrix needs to be associated with a "table of reaction", telling what to do when a scene turns On / Off. Controllers only must be listed in this list of action / reaction, as well as all the programs you wish to run / variable you wish to set.

 

Your set of scene does not benefit much of the matrix status because no scene is the addition of others and all scene require a lot of manual activation before turning true.

 

Thanks for your interest,

 

Jacques

Link to comment

Hi Jacques,

 

Apologies for a tardy reply.

 

It's beginning to make sense however I am a little worried as to how it can be implemented in our current framework. In any case, I am going to add this, with your descriptions, to the list of our requirements so that we can analyze it more.

 

And, again, thanks so very much for your time and effort in the details you provided.

 

With kind regards,

Michel

Link to comment

Archived

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


×
×
  • Create New...