Jump to content

Controlling a 2-way X10 device from a KPL


jswedberg

Recommended Posts

I replaced my old eight-button X10 KeypadLinc (SM #12064) with an Insteon KeypadLinc SM #2486).

 

First I made a Scene with only one element, the KPL button set as a controller. I set it to 'non-toggle' mode.

 

I made a program group and put these four programs into it:

If
   Control 'KPL2 - Drvway Floods' is switched Off
Then
   Send X10 'A6/Off (11)'
   Send X10 'A6/Status Request (10)'
Else
 - No Actions - (To add one, press 'Action')

If
   Control 'KPL2 - Drvway Floods' is switched On
Then
   Send X10 'A6/On (3)'
   Send X10 'A6/Status Request (10)'
Else
 - No Actions - (To add one, press 'Action')

If
   X10 'A6/Off (11)' is Received
or X10 'A6/Status = off (2)' is Received
Then
   Set Scene 'Driveway Floods' Off
Else
 - No Actions - (To add one, press 'Action')

If
   X10 'A6/On (3)' is Received
or X10 'A6/Status = On (8)' is Received
Then
   Set Scene 'Driveway Floods' On
Else
 - No Actions - (To add one, press 'Action')

Does this look reasonable?

 

I am having some trouble with consistent results. For some reason the new KPL does not always get a clear signal, although it is installed next to another KPL that always works. I also can not see X10 traffic (using the 'set debug to 1 in the Java console' trick) in 2.6.2.

 

I have considered adding some "Wait' actions somewhere, maybe that would help?

Link to comment

Hi jswedberg,

 

First, if you placed the programs into a folder, make sure that the folder has no conditions.

 

Next, it appears to me that the only purpose of the scene you created is to turn the KPL button LED on and off; is that correct? If so, then the button should be placed into the scene as a responder rather than a controller.

 

Then, your first two programs are triggering on the KPL button, then sending an X-10 on or off command (fine so far) followed by an X-10 status request, but your second two programs are triggering on receiving the X-10 on/off command which the first program just sent, or on the X-10 status reply.

 

Try changing your second two programs to trigger on the KPL button (same condition as the first two programs) or on the X-10 status reply. Also, in the first two programs, try inserting a delay between the sending of the two X-10 commands.

 

Finally, is there a reason you need to have the KPL button in non-toggle mode? If it were in toggle mode, your second two programs would only need to test for the X-10 status reply to toggle the button's LED, since it would toggle itself when it was pressed.

Link to comment

Thanks, Darrell.

 

With your suggestions it seems to be working much better. I can still get it out of sync if I press the KPL button on and off too quickly, but I am not sure how solve that problem yet.

 

Next, it appears to me that the only purpose of the scene you created is to turn the KPL button LED on and off; is that correct? If so, then the button should be placed into the scene as a responder rather than a controller.
I changed the button to a responder, and that helped a lot. I notice, however, that the programs are not triggered if I click on the On or Off buttons in the scene. The KPL button LED changes, but the programs are not run. Clicking a Scene command must not be literally the same as pressing the KPL button.

 

Then, your first two programs are triggering on the KPL button, then sending an X-10 on or off command (fine so far) followed by an X-10 status request, but your second two programs are triggering on receiving the X-10 on/off command which the first program just sent, or on the X-10 status reply.
The second two programs do not seem to be triggered on the "outgoing" X10 commands, only the incoming commands.

 

Try changing your second two programs to trigger on the KPL button (same condition as the first two programs) or on the X-10 status reply. Also, in the first two programs, try inserting a delay between the sending of the two X-10 commands.
Adding the delay helped tremendously. I have discovered (the hard way) that some X10 devices respond to a status with e.g. A3/Off (11) and some respond with e.g. A3/Status = off (2) depending on the brand. I want the KPL LED to accurately reflect the X10 status, so I am loathe to add the KPL button to the "If".

 

Finally, is there a reason you need to have the KPL button in non-toggle mode? If it were in toggle mode, your second two programs would only need to test for the X-10 status reply to toggle the button's LED, since it would toggle itself when it was pressed.
I tried toggle mode, but ended up with non-toggle because I wanted the KPL LED to only change if it received an X10 status. I think I need to try this a few more times, though, because when I was changing this parameter I was also having troubles with the delay lengths.

 

So, finally this is the current set of programs. The KPL button is the only element in a scene, it is set as a responder and as toggle-ON

If
   Control 'KPL2 - Drvway Floods' is switched Off
Then
   Send X10 'A6/Off (11)'
   Wait 5 seconds
   Send X10 'A6/Status Request (10)'
Else
 - No Actions - (To add one, press 'Action')

If
   Control 'KPL2 - Drvway Floods' is switched On
Then
   Send X10 'A6/On (3)'
   Wait 5 seconds
   Send X10 'A6/Status Request (10)'
Else
 - No Actions - (To add one, press 'Action')

If
   X10 'A6/Off (11)' is Received
or X10 'A6/Status = off (2)' is Received
Then
   Set Scene 'Driveway Floods' Off
Else
 - No Actions - (To add one, press 'Action')

If
   X10 'A6/On (3)' is Received
or X10 'A6/Status = On (8)' is Received
Then
   Set Scene 'Driveway Floods' On
Else
 - No Actions - (To add one, press 'Action')

Link to comment

After testing for some time, Darrel, you were right :oops: the KPL button must be set to toggle-on! (editted previous post with this info).

 

I also discovered the delay time is dependent on the type of X10 device. I used a delay time of 0 succesfully on another device.

 

I tested by pressing the KPL switch as well as independently switching the device and also by using an X10 maxi-controller. The KPL seems to respond properly in every case (as long as I have good X10 and Insteon signal strength - something I am still battling!)

Link to comment
Next, it appears to me that the only purpose of the scene you created is to turn the KPL button LED on and off; is that correct? If so, then the button should be placed into the scene as a responder rather than a controller.
I changed the button to a responder, and that helped a lot. I notice, however, that the programs are not triggered if I click on the On or Off buttons in the scene. The KPL button LED changes, but the programs are not run. Clicking a Scene command must not be literally the same as pressing the KPL button.

You are correct. The only way INSTEON allows one to remotely turn on or off a KPL button LED, is to place that button in a scene and then control the scene. But as you discovered, controlling the scene only controls the button LED; it does not propagate through the KPL.

Link to comment
After testing for some time, Darrel, you were right :oops: the KPL button must be set to toggle-on! (editted previous post with this info).

 

I also discovered the delay time is dependent on the type of X10 device. I used a delay time of 0 succesfully on another device.

 

I tested by pressing the KPL switch as well as independently switching the device and also by using an X10 maxi-controller. The KPL seems to respond properly in every case (as long as I have good X10 and Insteon signal strength - something I am still battling!)

jswedberg, thanks so much for the update. I'm so glad all is working well for you now.

Link to comment

Archived

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


×
×
  • Create New...