Jump to content

ISY Program event on Scenes


Vipola

Recommended Posts

I saw an old thread tellign that ISY don't support to trigger a program on Scenes on/off..

 

Was this added since? (in the new v3 for example)

 

or is this something that could be added eventually?

 

or is this technically impossible?

 

 

 

What I am trying to do is to keep the state of a IR device..

I have the InsteonToIr 2411T controlling a device by IR, the 2411T only sent IR via Scenes..

 

So I would like to trigger a program or a variable to remember if my device is on or off, by setting it to true when running scene 'IRsendON' and setting it to false when running scene 'IRsendOFF'..

 

Anyone got any suggestion how I could do this with the current ISY?

 

Thanks :)

Link to comment

Insteon architecture has no concept of Scene On/Off status. Take a Scene that when turned On

 

Sets Responder A to 100%

Sets Responder B to 50%

Sets Responder C to Off

 

Now, what do changes to these Responders do to Scene status. If Responder B is set to 100% does that constitute a Scene Off status. If Responder C is turned On does that constitute a Scene Off status. I suspect if you asked 6 people you would get 7 different answers.

 

A simple “last Scene command issued†could be tracked with an ISY variable. Whenever a Program turns the Scene On set the variable to 1, when it turns the Scene Off set the variable to 0. That might provide some meaning but would have no relationship to the actual status of the Scene Responders.

 

If the Scene is being controlled by a button/paddle press than a Program could be triggered on the button/paddle press such that when button/paddle On is received the variable is set to 1. A Program can be triggered by defining the variable as a State variable and have a Program triggered whenever the state variable becomes 1.

Link to comment

I tought I saw in an other thread that a Scene could only set device ON or OFF.. that you could not set some device ON and some device OFF.. that you could set a %level, and a OnRamp, but to CLOSE a light on a Scene ON you would need to set it brightness level to 2%.. Maybe this had change with newer device..

 

But when I call a Scene, or I send it a ON or I send it a OFF.. in a program I set a Scene to ON or set a Scene to OFF, this is the ON/OFF Status I would like to trigger on.. and I think most peoples would agree on this one. You turn a Scene ON, so the Scene Status would be ON..

 

Then
Set Scene 'NameOfTheScene' On

Else
Set Scene 'NameOfTheScene' Off

 

In your example you stated:

Take a Scene that when turned On

So there you go.. it's ON :) Nothing to do with the actual 'result' of the Scene.

 

I would like to run a program to set a variable, to remember the Status of a Scene because Insteon don't keep track of the last Status of a Scene, just like you suggest, but I would like to be able to Trigger the program when the scene as been set. a Program that could be evaluated when a Scene is set to ON, even then, my 2411T Ir only receive Scene ON signal to send the IR Signal, so I don't really care if the Scene was set ON or OFF.. I just care that the Scene was 'used'.

 

Other case you need to Call that program each time an other Program or Device Set that Scene, witch can become a nightmare to manage and keep track, specially that I like to use "eK ISY" my Iphone to switch Scene On and Off... witch I don't think could be monitored by a program either.

 

So I guess a Program would need to become a 'responder' for the scene to receive the signal, but I thought that the PCM was already acting as a middleman for every scene created with the ISY..

 

But maybe it could be a band-aid solution to add a un-used Un-used KeyPad Button LED to act as a responder of that scene and then evalute it status with a single program.

Link to comment

Vipola

 

I tought I saw in an other thread that a Scene could only set device ON or OFF.. that you could not set some device ON and some device OFF..

 

You are confusing the Scene On/Off command with Responder action. Since the beginning of Insteon many years ago a Responder has always been able to respond to a Scene On command with a unique On Level/ Ramp Rate or be turned Off by the Scene On command. A Scene Off command turns the responders Off. Because a Scene may consist of multiple responders the way an individual Responder reacts to the Scene On command is stored in the responder, in the link record in the responder that represents the Scene. The On Level and Ramp Rate for each Responder is set by Scene management. Either through the Admin Console or Program Action statements the set change the On Level and Ramp Rate values stored in each responder.

 

What you need is some means of knowing the last Scene command issued or that any command has been issued for a particular Scene. This is accomplished by triggering on the device button/paddle that initiates the Scene if initiated at the device itself. If a Program is issuing a Scene On/Off command it can also set a State variable which would trigger the same Program that is monitoring for a button/paddle press that issues the Scene On/Off command.

 

Currently the ISY has no facility to trigger a Program based on a named Scene command. This would be something unique to the ISY not based on Insteon architecture as the architecture has no concept of Scene status. Could be an interesting ISY function so long as it was understood to be last Scene command issued having nothing to do the current status of the actual responders.

 

Lee

Link to comment

Could be an interesting ISY function so long as it was understood to be last Scene command issued having nothing to do the current status of the actual responders.

 

Absolutely.. or even if it dosn't 'remember' what is the Current one, just the ability to trigger a program when a SET event happen for a Scene..

 

 

This is accomplished by triggering on the device button/paddle that initiates the Scene if initiated at the device itself. If a Program is issuing a Scene On/Off command it can also set a State variable which would trigger the same Program that is monitoring for a button/paddle press that issues the Scene On/Off command.

 

I am controllling a IRLinc 2411T, witch "I Think" don't have a 'STATUS' like a LampLinc would have that I could work against, so I can't use the 'responder' to found when my status changed. And I call it sometime with a Program, but frequently with my IPhone via eK ISY witch "I Think" I can't program aganst either..

 

My main question was to know if it would be technically possible to implement that feature in the ISY.. and if it was in the plans of doing so.. ;)

 

And if I could find an elegant solution..

 

You made me think about using a Button on a KeyPad to act as a Responder (or even controller) of my IR_SEND_ON_SIGNAL Scene, that button would go ON whenever that Scene is Called, and keep the value to remember that my ir_controlled_device is ON.

 

Now can I set a KeyPad Button LED to Turn 'OFF' when the IR_SEND_OFF_SIGNAL scene is set to ON? or I need to use a second KeyPad Button, one for when it's OFF and one for when it's ON, and Sync them via Programs? Yes I know there is a way to teach the 2411T to React to a OFF Scene, but I didn't understood how.. that device is a little obscure.. :P

 

I understand I'm trying to do something un-usual here.. I leanred that with Insteon and ISY you often need to think outside the box, and I'm sure many peoples here can have wonderfull ideas to achieve what I try to do :)

Link to comment

This has been brought up before, and the solution that seems to make the most sense to me is the idea of a dummy device. You would put the device in the scene, and when the scene was turned on, the dummy device would turn on, and when the scene was turned off, the dummy device would turn off.

 

You could always check the "status" of the scene via the status of the dummy device (although, as discussed, the status of a scene doesn't really mean much). You could also set a program to trigger on a status change of the dummy device.

 

IMO, adding a dummy device, i.e. a device with no Insteon address, to the ISY device lists would be simpler than changing the programming architecture to allow trigger of programs on scene "status" changes. I don't know what ever happened to the idea of dummy devices though -- I think it is a low priority or they said they didn't want them.

Link to comment

Instead of a dummy device, what about being able to change the value of a variable?

 

By using a state variable, then if it is changed it will cause and event that will trigger other programs.

Link to comment
Instead of a dummy device, what about being able to change the value of a variable?

 

By using a state variable, then if it is changed it will cause and event that will trigger other programs.

 

That one go back to having the ability to trigger a program based on a Scene..

Link to comment

That one go back to having the ability to trigger a program based on a Scene..

 

No need, you just trigger the program with the same controllers assigned to the scene.

 

That defeats the purpose of the exercise, and doesn't account for all the times you invoke the scene from a program. To use a variable (or a status program, which is how I do it currently), you would have to write a program to set the variable for the controllers of the scene, as well as go through your existing programs and set the variable everywhere you set the scene. The point was (I think) to be able to determine the status of the scene without having to maintain something else in parallel to the scene. In other words, allow the scene to reflect its "state."

Link to comment

I think my suggestion about using a variable was misunderstood.

 

What I meant was since State variables are available now, it seems like it would be easy to use that underlying resource to have a variable associated with a scene. It would basically be read only. So if you had a scene called Kitchen_Lights there would be another class of variables called Scenes and would automatically get populated with ${Kitchen_Lights} and pretty much work like the current State variables, that is any program using them in an IF would be reevaluated if it changed. You just would not be able to change it directly as you can with State variables.

 

So when a scene is turned on or off by a program, the Scene variable would change and cause an event and other programs would evaluate the new value.

Link to comment

It could be stored via a variable, but at least just a way to trigger a program would be great, we can manage variable our self after that.

 

to put a link to every controller and every program is a pain and don't cover every situation: example: Controlling the Scene directly with a Iphone via EK ISY

Link to comment
I think my suggestion about using a variable was misunderstood.

 

What I meant was since State variables are available now, it seems like it would be easy to use that underlying resource to have a variable associated with a scene. It would basically be read only. So if you had a scene called Kitchen_Lights there would be another class of variables called Scenes and would automatically get populated with ${Kitchen_Lights} and pretty much work like the current State variables, that is any program using them in an IF would be reevaluated if it changed. You just would not be able to change it directly as you can with State variables.

 

So when a scene is turned on or off by a program, the Scene variable would change and cause an event and other programs would evaluate the netw value.

That would work as well. Either a variable or a dummy device that could be placed in a scene would be nice. I think you are right that adding a state variable in a scene may be a feature even easier to implement than a dummy device.

Link to comment

Archived

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


×
×
  • Create New...