Zellarman Posted January 6, 2008 Posted January 6, 2008 It seems that more than a small handful of example programs I've seen posted use 'wait' before first executing a command, or 'wait' a period of time and then re-execute the same command. Why is this? In some of the explanations they say it's to avoid too much signal traffic, and or insure the comand is executed. I've been lightly playing around w/ Insteon for about a year now, and still quite a newbie, but based on my limited experience and understanding of Insteon, doesn't just the basic principal of Insteon (repeating of commands until a confirmation response is received) make this unecessary? Quote
d_l Posted January 6, 2008 Posted January 6, 2008 I think some of those programs were using waits between repeated X10 commands and not Insteon commands to improve the chances of the X10 devices receiving the command. Quote
yardman 49 Posted January 8, 2008 Posted January 8, 2008 It seems that more than a small handful of example programs I've seen posted use 'wait' before first executing a command, or 'wait' a period of time and then re-execute the same command. Why is this? In some of the explanations they say it's to avoid too much signal traffic, and or insure the comand is executed. I've been lightly playing around w/ Insteon for about a year now, and still quite a newbie, but based on my limited experience and understanding of Insteon, doesn't just the basic principal of Insteon (repeating of commands until a confirmation response is received) make this unecessary? There are cases when writing a program that a wait is necessary. For instance, if you write programs that are watching states of devices so that an action can be taken. Without a "wait" being inserted, problems can occur. I have programs that use a KPL button as both a group controller and to monitor the statuses of the devices in that group via a program. Without a "wait" of about 2 seconds, the program sees the controller status change prior to all the device statuses being read back. This causes the program to get into some feedback loops with the various devices' statuses, causing the KPL button to start "blinking" instead of just changing states And one time when I left the "wait" out completely, the entire KPL went nuts, flashing very rapidly and then turning itself completely off! I had to do an air gap to bring it back. There are other cases, such as when using "repeat" commands that need "waits". Some of the other members can probably give examples for those. Sometimes if an Insteon network is not "pristine", more than one hop is required for a command to get all the way through. And then the group cleanups are issued after the commands are received. So signals can be flying around for a while. Best wishes, Quote
Scott Bruns Posted January 10, 2008 Posted January 10, 2008 Yardman, can you post some details about your need to wait. I am trying to get a keypad to work and it blinks a lot. I thought it was having a problem communicating but it may be that I need to add a wait to my programming. Scott Quote
yardman 49 Posted January 11, 2008 Posted January 11, 2008 Yardman, can you post some details about your need to wait. I am trying to get a keypad to work and it blinks a lot. I thought it was having a problem communicating but it may be that I need to add a wait to my programming. Scott Hello Scott: Yes, what you are seeing can be precisely because you need the proper "wait" to be inserted. At least, that is one factor that can cause KPL "blinking". I've also seen it cause RTL (RemoteLinc) blinking. I won't have access to my network until this weekend. I'll make a note to myself to post copies of my status update programs with the "waits" included when I get a a chance. Best wishes, Quote
yardman 49 Posted January 12, 2008 Posted January 12, 2008 Hello Scott: As promised, here are some of my programs where I use the "WAIT" command: ___________________________________________________________________ Here's an example of a program that turns on the status light of my Kitchen KPL G button. This same button actually controls the same devices that are reporting back to it in this program. I wrote the program so that if anyone turned any of these basements lights on from the basement, I would see the G button light up in the kitchen. In that way I both know that a basement light is on, and it also gives me the ability to then turn the entire basement off with a single push of the Kitchen KPL G button: Program: "Turn Kitchen KPL G ON" If Status 'Kitch KPL G - Lower Level' is Off And ( Status Bsmt Entry Dimmer - 3G' > Off Or Status 'Bsmt Game Dimmer - 3G' > Off Or Status 'Bsmt Sconce Relay - 3G' is On Or Status 'Bsmt KPL A - Soffit Dimmer' > Off Or Status 'Bsmt Family Dimmer - 3G' > Off Or Status 'Bsmt Stairway Dimmer' > Off ) Then Wait 2 seconds Set Scene 'Kitchen KPL G Group' On Else - No Actions - (To add one, press 'Action') And here's the program that turns off the KPL G status light: Program: Turn Kitchen KPL G OFFIf Status 'Kitch KPL G - Lower Level' is On And ( Status 'Bsmt Entry Dimmer - 3G' is Off And Status 'Bsmt Game Dimmer - 3G' is Off And Status 'Bsmt Sconce Relay - 3G' is Off And Status 'Bsmt KPL A - Soffit Dimmer' is Off And Status 'Bsmt Family Dimmer - 3G' is Off And Status 'Bsmt Stairway Dimmer' is Off ) Then Wait 2 seconds Set Scene 'Kitchen KPL G Group' Off Else - No Actions - (To add one, press 'Action') Now here's one that I wrote to "cleanup" the status lights on my basement KPL secondary buttons. This is because I have scenes that turn some basement lights "on", and others "off", when a scene controller is turned "on". Historically, KPLs have not liked this, and will turn "on" every secondary that is part of that scene: there is no way to specify that you want some secondaries turned off. So I have a program folder called "Cleanup", and I have several programs that I wrote to have the ISY turn the secondary lights off by including the secondaries in separate groups. So here's the example: Program: "Cleanup Basement Normal"If Control 'Kitch KPL G - Lower Level' is switched On Or Control 'Kitch KPL G - Lower Level' is switched Off Or Control 'Bsmt RTL 5 - Normal Preset' is switched On Or Control 'Bsmt RTL 5 - Normal Preset' is switched Off Then Wait 3 seconds Set Scene 'Basement Normal Cleanup' Off Else - No Actions - (To add one, press 'Action') Finally, here's an example of a program where I have Insteon and X10 controls included. To make certain that I have 100% reliability on the X10 signals, I use "WAIT" to send the command more than once. I think that I could use "REPEAT" in conjunction with WAIT, instead of the way that I'm doing it here: If From Sunset - 10 minutes For 1 hour Then Set 'Hall KPL A - Porch Light' 50% Wait 3 seconds Send X10 'E1/On (3)' Wait 2 seconds Send X10 'E1/On (3)' Wait 2 seconds Send X10 'E1/On (3)' Wait 10 seconds Send X10 'E2/On (3)' Wait 2 seconds Send X10 'E2/On (3)' Wait 2 seconds Send X10 'E2/On (3)' Else - No Actions - (To add one, press 'Action') Best wishes, Quote
Scott Bruns Posted January 12, 2008 Posted January 12, 2008 Frank, I am also using waits with an X10 device to repeat the command several times. It seems to work well for me. I also have a KPL where I also am trying to clean up the button lights. Sometimes it works and sometimes I see a flashing button after a few seconds. I'll have to look at your examples more to see if I can get mine to work better. Thanks for your help. Scott Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.