Jump to content

Pre-purchase information on capabilities sought


jgreco

Recommended Posts

There is always going to be disagreement over what “Scene On†means. A Scene that turns some devices On, some devices dimmed and some devices Off (common home theater scenario); if one of the devices that was physically turned Off by the Scene On command is turned On independently, does that mean the Scene is Off because all the Responders are not in the original Scene initiated state. I’ll bet if I asked three people that question I would get six answers.

 

Perhaps something like “If Scene device Status = Scene definitionâ€. That is still problematic as there are situations where the exact state of a device cannot be known without a Query which should never be used to determine second by second state. It could be process intensive to check the Status of dozens of devices against the defined Scene status. Something an application running on a PC does not care about but could be a consideration for a small (by comparison) dedicated processor.

 

Bottom line, the ISY has no such feature. There is a Product Request topic where new ISY features/functions can be requested.

Link to comment

It is not lack of sophistication that makes ISY not track scene status. It is the fact that, expect for the simplist of situations, it is not clear what it is for a scene to be "on" or "off". To have ISY report scene there would be only two possibilities 1) on exactly as described, or 2) something else. The something else situation would be so common and so uninformative that the entire concept is rendered utterly useless. You can't even define a scene "off" status since it is entirely possible that you have scenes which, when on, have things specifically turned "off".

 

It is precisely for this reason that YOU as the user DEFINE what it means for that scene to be "on", "off", or "whatever" by using the very sophisticated programming interface. If ISY had a scene tracking mechanism, I promise you that there would be never ending complaints about whatever logic was used by ISY. The only valid logic is the logic defined by YOU, the USER, for each scene individualy, not someone at ISY who has no idea what it is that YOU think it means to be on/off/other in various parts of your house.

 

It just isn't that hard to write a few programs to get what YOU want.

Link to comment

Hello jgreco,

 

I'm very late to the discussion, but nonetheless interested. I have implemented programs exactly as you've described below to allow KPL buttons to monitor the status of various "groups" of devices in my home (1st floor, second floor, basement, whole house). You're correct that adding/deleting devices can be a little arduous.

 

I have no objection to using a combination of scenes and programs. What I'm looking for is some higher-level capabilities in the device.

 

What I *don't* want is for every time I purchase a LampLinc or SwitchLinc to have to go and be modifying every bit of logic associated with any member scenes; for example, I don't want to have to have a bit of logic that says

 

IF (KPL1 == ON && KPL2 == ON && SWL == ON && ALL_ON_SCENE == OFF) THEN ALL_ON_SCENE=ON, SEND_INSTEON(KPL_ALL_ON_LED, ON)

 

Because if I have to go about it like that, then when I add a LampLinc, I have to modify that to be

 

IF (KPL1 == ON && KPL2 == ON && SWL == ON && LAMPLINC == ON && ALL_ON_SCENE == OFF) THEN ALL_ON_SCENE=ON, SEND_INSTEON(KPL_ALL_ON_LED, ON)

 

But I have to do that for *each* scene that a device might be a member of, and probably for on AND off states, etc. This might not be so bad for a few devices, but gets ridiculous quickly with dozens of devices and a dozen scenes. It also gets complex for things like dimmed states, etc.

 

As you can probably tell, there has been a plethora of discussion on how to implement a conditional statement for a scene. The discussions to date have (in general) become very complex trying to cover all of the possible scene combinations and events. The result is a stalemate with no outcome.

 

Your post above lead me to think about how I actually use "status tracking" in my applications. For most of my applications, I simply don't care whether a device is at it's preprogrammed scene level of xx%. I simply want to know whether the device is on or off.

 

So what if we were able to treat scenes as a simple collection of devices that we would apply a condition to? I'm not sure what this would entail from the ISY side. It would essentially be a macro (collection) that the ISY would track as the system changed.

 

As an example, I use the following to monitor the lights on my first floor. The KPL status buttons (3 locations) are in a scene "1st floor status", while the monitored devices are in the scene "1st floor On".

 

If
       (
            Status  '2nd Floor / Master KPL 5 - 1st Floor' is not On
         Or Status  '1st Floor / Mud KPL 3 - 1st Floor' is not On
         Or Status  '1st Floor / Fam Room / Fam KPL 5 - 1st Floor' is not On
       )
   And (
            Status  '1st Floor / Bar Cans' is On
         Or Control '1st Floor / Bar Lamp' is switched On
         Or Control '1st Floor / Dinnette SWL' is switched On
         Or Control '1st Floor / Fam Room / Fam Fan' is switched On
         Or Control '1st Floor / Fam Room / Fireplace Spots' is switched On
         Or Control '1st Floor / Foyer' is switched On
         Or Control '1st Floor / Foyer KPL 1 - Bar Lamp' is switched On
         Or Control '1st Floor / Foyer KPL 3 - Foyer' is switched On
         Or Control '1st Floor / Foyer KPL 4 - Bar Cans' is switched On
         Or Control '1st Floor / Foyer KPL 5 - Kitchen Cans' is switched On
         Or Control '1st Floor / Foyer KPL 6 - Dinnette' is switched On
         Or Control '1st Floor / Fam Room / Fam KPL 1 - Wall' is switched On
         Or Control '1st Floor / Fam Room / Fam KPL 2 - Fireplace Spots' is switched On
         Or Status  '1st Floor / Fam Room / Fam KPL 3 - Lamps' > Off
         Or Control '1st Floor / Fam Room / Fam KPL 4 - Fan' is switched On
         Or Control 'Motion/RF / RL2 Fam Wall' is switched On
         Or Control 'Motion/RF / RL3 Fam Fan' is switched On
         Or Control 'Motion/RF / RL4 Kitchen' is switched On
         Or Control 'Motion/RF / RL5 Dinnette' is switched On
       )

Then
       Set Scene 'SC 1st Floor Status On' On
Else
  - No Actions - (To add one, press 'Action')

 

Using the "group" or "collection" approach, this would simplify to:

 

If

(

Any device '1st floor status' is not on

)

And (

Any device '1st floor on' is switched on

)

 

Then

Set Scene 'SC 1st Floor Status On' On

Else

- No Actions - (To add one, press 'Action')

 

In the above, the "any device" would equate to an "or". The statement "all devices" could be used for an "and" (doesn't make sense with my example above). For my given example, I would need to rework things a bit since I've used both "status" and "switched" within the same program. This is doable.

 

The advantage would be that the ISY would track and update the scene membership as the system evolved. No additional program changes would be required.

 

Thoughts? I'm not sure what this would entail within the ISY. Nor am I sure whether users would value the function.

 

IM

Link to comment

Archived

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


×
×
  • Create New...