Jump to content

Setting on level in a program


fba

Recommended Posts

I'm a newbie to the ISY, and trying to figure out some of the programs/scenes that I used with a previous controller. For the fairly straight-forward programs, things have made sense and I have gotten them working. Unfortunately, there are two programs that I just can't seem to get to behave.

 

The first is a program that should set the on level for certain lights in my house. The program itself is fairly simple, but here is a super stripped down version that would only control one light as I suspect the problem is my understanding of how things should work. The program looks like this :

 

If

Time is 8:00:00PM

 

Then

In Scene 'Master Bathroom Lights' Set 'Main Floor / Master Bedroom / Master Bathroom Lights' 33% (On Level)

 

Else

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

 

 

When I run that program while running the event viewer at level 3, I see it communicating with the light switch, so I know that it is communicating okay. However, when I walk in to the bathroom and flip the switch, the lights still come on at 100% and in the admin console I am still seeing the local on-level set to 100%. Looking through the Insteon commands that are sent, it appears that what is happening is the PLM is having its ALDB record changed to set the default on-level for that light when it is controlled from the PLM and not when it is controlled manually. When I use the on-level slider in the admin console, I see it sending the command that would be used to set the on level directly at the switch.

 

Interestingly enough, I have a different device in the house that does seem to do what I want. The key difference is that "scene" it references is the device itself rather than a scene with the typical three dots icon. However, I can't seem to figure out how to get it to do the same thing for the other lights I want to control. What am I missing?

 

 

The second issue is with controlling the back light on a keypadlinc based on the open/close state of the garage based on a sensor connected to an IOLinc. (Backlight should be on when the garage is open, off when it isn't.) Since I have a program that turns on the garage lights when it is open and after sunset, and it works, I used the same basic program for that to attempt to control the backlight.

 

That program looks like this :

 

If

Status 'Main Floor / Garage / Garage Sensor-Sensor' is Off

 

Then

Set 'Main Floor / Master Bedroom / Kpl1' On 15 / Off 7 (Backlight Level)

 

Else

Set 'Main Floor / Master Bedroom / Kpl1' On 0 / Off 0 (Backlight Level)

 

 

Now, this is where it seems to get a little weird. When I right click that program in the Programs -> Details tabs and run either the "Then" or "Else" case the keypadlinc does what I would expect. (Though not quite exactly what I want, but one thing at a time.) However, when I open or close the garage door, the keypadlinc will come on and stay on as if the "Else" portion never gets run.

 

Is anyone else running something like this that has managed to get it working?

Link to comment

Hi fba,

 

If

Time is 8:00:00PM

 

Then

In Scene 'Master Bathroom Lights' Set 'Main Floor / Master Bedroom / Master Bathroom Lights' 33% (On Level)

 

Else

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

 

Are you trying to change the local on level? If so, the scene must be equal to the device you are trying to change the on level on (when you click on the scene, it will say Applied Locally). This said, older switches require a REBOOT before changes take effect.

 

 

Interestingly enough, I have a different device in the house that does seem to do what I want. The key difference is that "scene" it references is the device itself rather than a scene with the typical three dots icon. However, I can't seem to figure out how to get it to do the same thing for the other lights I want to control. What am I missing?

See above.

 

 

The second issue is with controlling the back light on a keypadlinc based on the open/close state of the garage based on a sensor connected to an IOLinc. (Backlight should be on when the garage is open, off when it isn't.) Since I have a program that turns on the garage lights when it is open and after sunset, and it works, I used the same basic program for that to attempt to control the backlight.

 

That program looks like this :

 

If

Status 'Main Floor / Garage / Garage Sensor-Sensor' is Off

 

Then

Set 'Main Floor / Master Bedroom / Kpl1' On 15 / Off 7 (Backlight Level)

 

Else

Set 'Main Floor / Master Bedroom / Kpl1' On 0 / Off 0 (Backlight Level)

 

 

Now, this is where it seems to get a little weird. When I right click that program in the Programs -> Details tabs and run either the "Then" or "Else" case the keypadlinc does what I would expect. (Though not quite exactly what I want, but one thing at a time.) However, when I open or close the garage door, the keypadlinc will come on and stay on as if the "Else" portion never gets run.

1. I do not think you want to use Backlight level which is applied TO ALL the buttons and is basically the brightness level of the buttons. What you want to do instead is to put the button that you need to control inside a scene and then turn on/off the scene based on the condition

2. Although in this case you should be OK, but - and just for the sake of recovery after power outage - it's best to have two different programs with opposite conditions (one for Then and one for Else).

 

With kind regards,

Michel

Link to comment
Hi fba,

 

If

Time is 8:00:00PM

 

Then

In Scene 'Master Bathroom Lights' Set 'Main Floor / Master Bedroom / Master Bathroom Lights' 33% (On Level)

 

Else

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

 

Are you trying to change the local on level? If so, the scene must be equal to the device you are trying to change the on level on (when you click on the scene, it will say Applied Locally). This said, older switches require a REBOOT before changes take effect.

 

 

Interestingly enough, I have a different device in the house that does seem to do what I want. The key difference is that "scene" it references is the device itself rather than a scene with the typical three dots icon. However, I can't seem to figure out how to get it to do the same thing for the other lights I want to control. What am I missing?

See above.

 

I've been using these switches with dimmed on levels using some of my own code, so they don't seem to be the type that require rebooting for the settings to take.

 

By making the master bathroom lights switch the target "scene", I was able to get it working the way I would expect. However, I have at least one dimmer (2476D - SwitchLinc Dimmer W/Beeper v.38) that I am unable to pick as a "scene". The ISY seems to know it is a dimmer though because I have the options to set the on level under "Main" when I select the device. Is this a bug? Or is there something I need to do to a switch like that to make it show up?

 

I'm also having trouble wrapping my mind around the behavior for switches that are cross-linked to act as a 3-way switch. I have that set up in my hall way, and want to be able to dim the lights there in the evening as well. If I set the device that is controlling the load as the target scene and set the on-level, that switch will turn the light on to the desired level as I would expect. However, the slave switch doesn't show up as a valid target for a "scene", so I instead set the scene to be the scene I set up in the ISY to cross-link the two switches, and then set the device to be the slave switch. However, when I operate the slave switch, it is still turning the light on to 100%. This doesn't seem like the behavior I should see in that case. So how should it be set up?

 

The second issue is with controlling the back light on a keypadlinc based on the open/close state of the garage based on a sensor connected to an IOLinc. (Backlight should be on when the garage is open, off when it isn't.) Since I have a program that turns on the garage lights when it is open and after sunset, and it works, I used the same basic program for that to attempt to control the backlight.

 

That program looks like this :

 

If

Status 'Main Floor / Garage / Garage Sensor-Sensor' is Off

 

Then

Set 'Main Floor / Master Bedroom / Kpl1' On 15 / Off 7 (Backlight Level)

 

Else

Set 'Main Floor / Master Bedroom / Kpl1' On 0 / Off 0 (Backlight Level)

 

 

Now, this is where it seems to get a little weird. When I right click that program in the Programs -> Details tabs and run either the "Then" or "Else" case the keypadlinc does what I would expect. (Though not quite exactly what I want, but one thing at a time.) However, when I open or close the garage door, the keypadlinc will come on and stay on as if the "Else" portion never gets run.

1. I do not think you want to use Backlight level which is applied TO ALL the buttons and is basically the brightness level of the buttons. What you want to do instead is to put the button that you need to control inside a scene and then turn on/off the scene based on the condition

2. Although in this case you should be OK, but - and just for the sake of recovery after power outage - it's best to have two different programs with opposite conditions (one for Then and one for Else).

 

With kind regards,

Michel

 

I actually do want to use it in the manner you outline in #1. The idea is that nothing on the key pad is lit when the garage is closed, but the backlight and any buttons in the "on" state are lit when it is open. Since this keypad sits right next to the head of my bed, I generally don't want it lit up as it would bother me while I try to sleep. Since I don't want to go to sleep while the garage is open, having it light up when I am trying to sleep is a perfect distraction.

 

In a nutshell, when I manually trigger the "then" or "else" case, the keypadlinc lights up exactly how I want it to. But, for some reason, when the garage should trigger it, the result is that the keypad is always on. Last night I grabbed some level 3 event traces to try to see what was going on, but I have not had time to sit down with those and the developer documentation to see exactly what commands are being sent. However, it did appear that the ISY saw the on/off event from the IOLinc, and it attempted to send something to the keypadlinc. So, my question was mainly if there was anything obvious that I was missing in my program. But, other than splitting it in to two programs, it sounds like I at least have the right general idea.

Link to comment

The Program should not be setting the BackLight level. Backlight determines how bright the On/Off levels are for the entire KPL. The Program should be turning the Secondary KPL button On or Off. Insteon Direct commands cannot be used as Direct commands have no means of indicating which KPL button should respond to the On/Off.

 

Define an ISY Scene with the KPL button as a Responder. The Program turns the ISY Scene On/Off to turn the Secondary KPL button On/Off.

 

Using Adjust Scene is more complex when using cross-linked devices. The Local On Level controls what happens to the device where the paddle is pressed. The Responder On Level controls what happens to the device that is cross-linked. This means that four Adjust Scene statements are required for each change in On Level.

 

In Scene 'device1' Set 'device1' 40% - this sets the Local On Level for device1

In Scene 'device2' Set 'device2' 40% - this sets the Local On Level for device2

 

In Scene 'device1' Set 'device2' 40% - this sets the Responder On Level for device2

In Scene 'device2' Set 'device1' 40% - this sets the Responder On Level for device1

 

 

Note that for a device to appear as an option for use in the first parameter the device MUST be a Controller of an ISY Scene. Even if the device is not linked to anything it still must be a Controller in a Scene (dummy Scene if you will). This allows using the device node name in both the first and second parameters of the Adjust Scene statement to set the Local On Level.

Link to comment

I believe the OP IS attempting to use the backlight as an indicator rather than a specific button being lit. I suspect the problem is that the ISY is not allowing a 0/0 backlight setting as it it attempting to maintain a visual difference between the On and Off button states.

 

-Xathros

Link to comment

Archived

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


×
×
  • Create New...