Jump to content

Scene Status


C Martin

Recommended Posts

Hi C Martin,

 

They could but it's going to be a little "nasty" since the status of a scene is either:

a. collective status of all of the devices within the scene

b. what was done to the scene

c. the status of a specific controller in the scene

 

I hope I make sense.

 

By the way, sorry I missed you at EHX. Hopefully we'll get to meet at CES!

 

With kind regards,

Michel

 

No, they currently do not have a status. But since they are given commands as objects, could the status be a future feature?
Link to comment

The feature of a status for a Scene is just s thought. I can understand the difficulty of doing such a thing.

Now that I understand the Status value of Programs I am using them as Program Flags in place of variables.

 

I am also sorry that we misssed each other at the EHX and the CES sounds like a possibility.

 

Thanks for all of the help that you have given everyone.

 

Clarence

Link to comment

Hello Clarence,

 

We'll work on it but I must inform you that it's way down there on our list!!!

 

Thanks and with kind regards,

Michel

 

 

In the Program Detail Window - when the Drop Down list for Insteon devices is presented, can list list be drawn in a Desending Alphabetical order. It will make items much easier to find.

 

Thanks,

 

Clarence

Link to comment
Hi C Martin,

 

They could but it's going to be a little "nasty" since the status of a scene is either:

a. collective status of all of the devices within the scene

b. what was done to the scene

c. the status of a specific controller in the scene

 

I hope I make sense.

 

By the way, sorry I missed you at EHX. Hopefully we'll get to meet at CES!

 

With kind regards,

Michel

 

 

I'm not sure I understand what you mean with b and c. If all devices in a scene are in the state defined by the scene then the scene is TRUE. Otherwise it is FALSE. So after a scene is set, and a change is made such as manually changing the dim level of one light switch included in the scene, then it makes the scene FALSE. Likewise, if you manually changed that one switch back to exactly the same value defined by the scene, then the scene would become TRUE again. I don't understand what you mean by the "status of the controller".

 

In theory a scene can become TRUE even if no controller is involved by manually adjusting each device included in the scene to the state defined in the scene.

Link to comment

Hi upstatemike,

 

The main issue here is that each scene could have multiple controllers each one of which could do different things to any other member of the scene including other controllers.

 

So, what is the state?

 

With kind regards,

Michel

 

 

I'm not sure I understand what you mean with b and c. If all devices in a scene are in the state defined by the scene then the scene is TRUE. Otherwise it is FALSE. So after a scene is set, and a change is made such as manually changing the dim level of one light switch included in the scene, then it makes the scene FALSE. Likewise, if you manually changed that one switch back to exactly the same value defined by the scene, then the scene would become TRUE again. I don't understand what you mean by the "status of the controller".

 

In theory a scene can become TRUE even if no controller is involved by manually adjusting each device included in the scene to the state defined in the scene.

Link to comment

upstatemike,

Please see my post in the "How To" topic.

It's about making Flags from a Program.

 

Michel,

I think that I have decided that I can use a flag Program to check or imitate Scene Status.

 

Setting Flags is neat because you set them up only once and can use their "True/False Status anywhere and anytime without re-writing code.

Link to comment
Hi upstatemike,

 

The main issue here is that each scene could have multiple controllers each one of which could do different things to any other member of the scene including other controllers.

 

So, what is the state?

 

With kind regards,

Michel

 

 

I'm sorry to be dense but I still don't understand what you are saying about controllers. If I decide to define scene x as light 1 at 50% and light 2 at 100% then scene x is true whenever light 1 is at 50% and light 2 is at 100%. It does not matter how they got that way (keypadlinc button, manual control, or whatever).

 

Likewise whenever either light 1 is NOT 50% OR Light 2 is NOT 100% then scene x is false. It does not matter if the scene was turned off by the button that turned it on, or another controller changed one of the lights, or one of the lights was changed manually or how the scene became false.

 

Since a scene is defined by the state of the lights controlled and not by how they came to be in that state, I am having a hard time understanding where controllers come into play in testing if a scene is true or false.

Link to comment

First off, my request was to have a Status for a scene, which does not yet exist.

 

I am not at my computer so I can send some code later or please look at the code examples in my "How Tos" posting How I am using Programs as Flags.

 

You don't need to do anything with the program. Just set up the IF statements and the program status will change depending on the IF statement evaluation. Now in your other program you just call for the Status of the Flag Program as part of your argument.

I have actually figured out that I should be able to set up a Flag Program that looks for the values of the objects (Swithces and so forth) that are in a scene and determine if a scene is True or False.

I will be posting that code later today also.

Link to comment

upstatemike,

 

You are not being dense! I think we have a paradigm difference: by what you say, a scene could only have a binary value: on/off. So, in your paradigm, if by any chance, even if only one of the devices within the scene has a value of 51% instead of 50% then the scene is considered off. Furthermore, it's considered off even though 20 other devices in the scene have the correct values.

 

To me, the status of the scene must be more granular otherwise we can simply use C Martin's programs to accomplish what you suggest.

 

With kind regards,

Michel

 

 

I'm sorry to be dense but I still don't understand what you are saying about controllers. If I decide to define scene x as light 1 at 50% and light 2 at 100% then scene x is true whenever light 1 is at 50% and light 2 is at 100%. It does not matter how they got that way (keypadlinc button, manual control, or whatever).

 

Likewise whenever either light 1 is NOT 50% OR Light 2 is NOT 100% then scene x is false. It does not matter if the scene was turned off by the button that turned it on, or another controller changed one of the lights, or one of the lights was changed manually or how the scene became false.

 

Since a scene is defined by the state of the lights controlled and not by how they came to be in that state, I am having a hard time understanding where controllers come into play in testing if a scene is true or false.

Link to comment
upstatemike,

 

You are not being dense! I think we have a paradigm difference: by what you say, a scene could only have a binary value: on/off. So, in your paradigm, if by any chance, even if only one of the devices within the scene has a value of 51% instead of 50% then the scene is considered off. Furthermore, it's considered off even though 20 other devices in the scene have the correct values.

 

To me, the status of the scene must be more granular otherwise we can simply use C Martin's programs to accomplish what you suggest.

 

With kind regards,

Michel

 

 

I prefer the terms TRUE and FALSE over ON and OFF. OFF might imply a specific defined state whereas FALSE is anything other than the specific settings defined as TRUE. But yes, I only see two states for scenes, True and False. It is certainly of value to know that a scene is no longer set because something has changed for some reason. (Could force it back, or change a keypad LED, or whatever).

 

When you refer to something more granular it sounds like you are talking about groups. Where scenes only have a single set of TRUE conditions but a large number of possible conditions that are FALSE, a group is only FALSE when all of its included elements are off but has a large number of possible conditions that are TRUE. In your example above changing the light from 50% to 51% makes the scene FALSE but the group would remain TRUE.

 

A scene has only 1 defined state, TRUE (when each member is at the exact setting defined by the scene) and all other states are considered FALSE. A group has only one defined state, FALSE, (when all members are off) and all other states are considered TRUE.

 

I have not looked at CMartin's programs yet but I suspect they do what is needed to track the status of a scene.

Link to comment

upstatemike,

 

Wow! I do understand what you mean. By the way, where did you get your definitions of Groups/Scenes? Are they upstatemike's defined or are they used in some other packages. With all the law suits going around, we have to be careful implementing solutions that have already been implemented in other packages.

 

Thanks so very much,

With kind regards,

Michel

 

 

I prefer the terms TRUE and FALSE over ON and OFF. OFF might imply a specific defined state whereas FALSE is anything other than the specific settings defined as TRUE. But yes, I only see two states for scenes, True and False. It is certainly of value to know that a scene is no longer set because something has changed for some reason. (Could force it back, or change a keypad LED, or whatever).

 

When you refer to something more granular it sounds like you are talking about groups. Where scenes only have a single set of TRUE conditions but a large number of possible conditions that are FALSE, a group is only FALSE when all of its included elements are off but has a large number of possible conditions that are TRUE. In your example above changing the light from 50% to 51% makes the scene FALSE but the group would remain TRUE.

 

A scene has only 1 defined state, TRUE (when each member is at the exact setting defined by the scene) and all other states are considered FALSE. A group has only one defined state, FALSE, (when all members are off) and all other states are considered TRUE.

 

I have not looked at CMartin's programs yet but I suspect they do what is needed to track the status of a scene.

Link to comment

This is my understanding of the definitions based on what I have seen done in other systems including professional stage lighting systems. I don't think these general concepts are owned by anybody.

 

One implementation I have seen in Home Automation is to combine scenes and groups in a trigger type manner. Assuming you have an LED sssomeplace that you want to have track the status of the scene/group, the LED is triggered as follows:

 

When the scene is set the LED is turned ON. All subsequent changes to the scene are ignored and the LED stays on even if some lights are changed manually or by other controllers.

 

When the group is turned OFF then the LED is turned OFF. Manual changes do not turn it back ON, only a group ON to reset the scene will do that.

 

This is often referred to as turning the scene ON or OFF but technically you are turning a scene ON and the group OFF and not tracking any intermediate state.

 

In this arrangement the LED is set by the 2 triggers, group ON to set the scene and group OFF to turn all units in the group OFF. You do not get any information about the actual state of the lights due to actions outside of those two triggers.

Link to comment
  • 1 month later...

Michel,

This command is more useful than you think, so I would like to re-suggest adding to the Status command the ability to check scenes. The "Status Scene" command would gather from the scene, by controller, its levels and then it would check it against the devices levels.

 

  • [*:1k7howxj]command - Status Scene 'node/controller' arg
    [*:1k7howxj]node - selected scene to check
    [*:1k7howxj]controller - selected controller from this scene to get levels from
    [*:1k7howxj]args - is all On, is any On, is loosely On, is all Off, is any Off, is loosely Off

Program Flow:

 

  1. [*:1k7howxj]Get all scene stored levels from selected node/controller
    [*:1k7howxj]Compare levels with the ISY 'live' levels (the table you see when selecting 'My Lighting')
    [*:1k7howxj]Repeat until all levels have been compared
    [*:1k7howxj]Return Yes/No Status

Example Code:

 

If
       Status Scene 'Movie Time/Family KPL (B)' is all Off

If
       Status Scene 'Family Room/Family KPL (D)' is any On

Args Breakdown:

  • [*:1k7howxj]is all On - all devices have to be On, with exact scene levels
    [*:1k7howxj]is any On - any one or more device(s) is On, with exact scene levels
    [*:1k7howxj]is loosely On - any one or more device(s) is On, not with exact scene levels
    [*:1k7howxj]is all Off - all devices have to be Off
    [*:1k7howxj]is any Off - any one or more device(s) is Off, the rest with exact scene levels
    [*:1k7howxj]is loosely Off - any one or more device(s) is Off, the rest not with scene exact levels

Why call it "Status Scene", because is would be consistent to the "Set" command which also is show as "Set Scene" when it handles a scene.

  • [*:1k7howxj]Set 'node' arg
    [*:1k7howxj]Status 'node' arg
    [*:1k7howxj]Set Scene 'node' arg
    [*:1k7howxj]Status Scene 'node/controller' arg

And if you really wanted to get consistent then we could add an optional controller arg to the 'Set' command so we could capture and use levels from other controller scene entries.

  • [*:1k7howxj]Set Scene 'node/controller' arg

_________________

 

This is example of how the "loosely" might look for the "All Lights" check.

 

If
       Status Scene 'All Lights/Family KPL (D)' is loosely On

And this is how the same "All Lights" check looks with just the current code.

 

If 
       Status  'Dining Hutch' is not Off 
    Or Status  'Family Desk' is not Off 
    Or Status  'Family Main (load)' is not Off 
    Or Status  'Family Screen' is not Off 
    Or Status  'Guest Bath Main' is not Off 
    Or Status  'Guest Bath Tub' is not Off 
    Or Status  'Kitchen Island' is not Off 
    Or Status  'Kitchen Main' is not Off 
    Or Status  'Kitchen Main (slave)' is not Off 
    Or Status  'Kitchen Pantry' is not Off 
    Or Status  'Kitchen Sink' is not Off 
    Or Status  'Master Bath Main' is not Off 
    Or Status  'Master Bath Tub' is not Off 
    Or Status  'Master Hallway' is not Off 
    Or Status  'Master Main (load)' is not Off 
    Or Status  'Master Main (slave)' is not Off 
    Or Status  'Master Read Amy' is not Off 
    Or Status  'Master Read Mark' is not Off 
    Or Status  'Master Screen' is not Off 

Link to comment

I like this definition but I don't vote for TRUE/FALSE looks too "program-ish" I like how the ISY programs read more like English. To me; On == True, and Off == False, because the ISY shows percentages when the node is not On or Off. And On/Off is more unique than the TRUE/FALSE which other lawsuit happy competitors do use.

 

A scene has only 1 defined state, TRUE (when each member is at the exact setting defined by the scene) and all other states are considered FALSE. A group has only one defined state, FALSE, (when all members are off) and all other states are considered TRUE.
Link to comment

Mark,

 

Very interesting but I am little confused as to how this is any different than just checking the status of that specific controller? At the end of the day, the status of that controller is whatever it is regardless of it being part of a scene. Wouldn't you agree?

 

Thanks so very much,

With kind regards,

Michel

 

I spent more time composing it; please reread my re-suggest post which is the second post up from here.
Link to comment

Got it...just had to wake up a bit.

 

Each Controller has different scene levels so you would need to grab the levels for that node/controller in order to do these exact levels checks.

 

  • [*:d8bxdxlw]is all On - all devices have to be On, with exact scene levels
    [*:d8bxdxlw]is any On - any one or more device(s) is On, with exact scene levels
    [*:d8bxdxlw]is any Off - any one or more device(s) is Off, the rest with exact scene levels

Link to comment

Hi Mark,

 

Excellent. And, for the case of just one device on but, let's say, at +/-5% of the on level? I ask this simply because we cannot guarantee 100% accuracy unless we do a query. And, then, where do you draw the line?

 

With kind regards,

Michel

 

Got it...just had to wake up a bit.

 

Each Controller has different scene levels so you would need to grab the levels for that node/controller in order to do these exact levels checks.

 

    [*:22590yho]is all On - all devices have to be On, with exact scene levels
    [*:22590yho]is any On - any one or more device(s) is On, with exact scene levels
    [*:22590yho]is any Off - any one or more device(s) is Off, the rest with exact scene levels

Link to comment

Archived

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


×
×
  • Create New...