satwar Posted January 16, 2021 Posted January 16, 2021 I have a device which toggles an output status between on-off. The problem is that when the device is close to changing status it does so very noisily and the poor isy is beaten to death, not to mention downstream equipment that relies on this on-off signal. This especially happens when the device is sending an "off" and approaching to switch to the "on" status. I was hoping someone might be able know how slow down the chatter. I think scanning for the status every 10 minutes would be adequate. Thanks in advance.
lilyoyo1 Posted January 16, 2021 Posted January 16, 2021 2 minutes ago, satwar said: I have a device which toggles an output status between on-off. The problem is that when the device is close to changing status it does so very noisily and the poor isy is beaten to death, not to mention downstream equipment that relies on this on-off signal. This especially happens when the device is sending an "off" and approaching to switch to the "on" status. I was hoping someone might be able know how slow down the chatter. I think scanning for the status every 10 minutes would be adequate. Thanks in advance. It would be easier to help if you'd provide more info. A switch could be anything from any company as could whatever it's attached to and other devices. The more detail you give the better the response.
satwar Posted January 16, 2021 Author Posted January 16, 2021 Well the on-off signal is an alarm. The "off" condition is no alarm, and the alarm condition is "on". I physically connect the alarm signal to a EZIO 2x4, where it gets used in the isy as required. The device that signals the alarm is proprietary
kclenden Posted January 16, 2021 Posted January 16, 2021 8 hours ago, satwar said: I was hoping someone might be able know how slow down the chatter. Not sure if it applies to your situation, but here's a link to a conversation in 2018 about a noisy Ezio 2x4.
satwar Posted January 16, 2021 Author Posted January 16, 2021 Yes that’s my baby. I’ve taken all the steps for grounding etc but I didn’t have true winter conditions. Now that it’s snowing frequently I’v noticed this problem.
satwar Posted January 16, 2021 Author Posted January 16, 2021 logfile1.txtI tried some lame code and it seemed to slow down the chatter: Is SnowAlarm (I2) status is ON THEN Wait 10 minutes ELSE Wait 10 minutes But see log file I attached @ 06:15, where some chatter gets through: logfile1.txt
MrBill Posted January 16, 2021 Posted January 16, 2021 40 minutes ago, satwar said: Is SnowAlarm (I2) status is ON THEN Wait 10 minutes ELSE Wait 10 minutes But see log file I attached @ 06:15, where some chatter gets through: If that's all the code you have in a program, I can't see how it helps de-bounce other programs. When discussing your programs it's always best to post the exact program(s) by right clicking the name in the tree selecting copy to clipboard then pasting it into a post. Too many different possible interpretations of psuedocode. 1
satwar Posted January 16, 2021 Author Posted January 16, 2021 The program has two folders:. The first folder controls power "on" and "off": Gutter Heater Control - [ID 0014][Parent 000D] If ( Time is 6:00:00AM Or Time is 6:15:00AM Or Time is 6:30:00AM Or Time is 6:45:00AM Or Time is 7:00:00AM Or Time is 7:15:00AM Or Time is 7:30:00AM Or Time is 7:45:00AM Or Time is 8:00:00AM Or Time is 8:15:00AM Or Time is 8:30:00AM Or Time is 8:45:00AM Or Time is 9:00:00AM Or Time is 9:15:00AM Or Time is 9:30:00AM Or Time is 9:45:00AM Or Time is 10:00:00AM Or Time is 10:15:00AM Or Time is 10:30:00AM Or Time is 10:45:00AM Or Time is 11:00:00AM Or Time is 11:15:00AM Or Time is 11:30:00AM Or Time is 11:45:00AM Or Time is 12:00:00PM Or Time is 12:15:00PM Or Time is 12:30:00PM Or Time is 12:45:00PM Or Time is 1:00:00PM Or Time is 1:15:00PM Or Time is 1:30:00PM Or Time is 1:45:00PM Or Time is 2:00:00PM Or Time is 2:15:00PM Or Time is 2:30:00PM Or Time is 2:45:00PM Or Time is 3:00:00PM Or Time is 3:15:00PM Or Time is 3:30:00PM Or Time is 3:45:00PM Or Time is 4:00:00PM Or Time is 4:15:00PM Or Time is 4:30:00PM Or Time is 4:45:00PM Or Time is 5:00:00PM Or Time is 5:15:00PM Or Time is 5:30:00PM Or Time is 5:45:00PM Or Time is 6:00:00PM Or Time is 6:15:00PM Or Time is 6:30:00PM Or Time is 6:45:00PM Or Time is 7:00:00PM Or Time is 7:15:00PM Or Time is 7:30:00PM Or Time is 7:45:00PM Or Time is 8:00:00PM Or Time is 8:15:00PM Or Time is 8:30:00PM Or Time is 8:45:00PM Or Time is 9:00:00PM Or Time is 9:15:00PM Or Time is 9:30:00PM Or Time is 9:45:00PM Or Time is 10:00:00PM Or Time is 10:15:00PM Or Time is 10:30:00PM Or Time is 10:45:00PM Or Time is 11:00:00PM Or Time is 11:15:00PM Or Time is 11:30:00PM Or Time is 11:45:00PM Or Time is 12:00:00AM Or Time is 12:15:00AM Or Time is 12:30:00AM Or Time is 12:45:00AM Or Time is 1:00:00AM Or Time is 1:15:00AM Or Time is 1:30:00AM Or Time is 1:45:00AM Or Time is 2:00:00AM Or Time is 2:15:00AM Or Time is 2:30:00AM Or Time is 2:45:00AM Or Time is 3:00:00AM Or Time is 3:15:00AM Or Time is 3:30:00AM Or Time is 3:45:00AM Or Time is 4:00:00AM Or Time is 4:15:00AM Or Time is 4:30:00AM Or Time is 4:45:00AM Or Time is 5:00:00AM Or Time is 5:15:00AM Or Time is 5:30:00AM Or Time is 5:45:00AM ) And ( 'Weather - Snow Alarm (I2)' Status is On ) And ( 'Weather - Temp Alarm (I1)' Status is Off ) Then Set 'Driveway / Gutter Driveway Power' On 100% Wait 1 minute Set 'Driveway / Gutter Porch Power' On 100% Wait 1 minute Set 'Garage / Gutter Garage Power' On 100% Else Set 'Driveway / Gutter Driveway Power' Off Wait 1 minute Set 'Driveway / Gutter Porch Power' Off Wait 1 minute Set 'Garage / Gutter Garage Power' Off and the second folder ry to decrease the Snow Alarm (I2) chatter Reduce Noise on Snow Alarm - [ID 000E][Parent 000D] If 'Weather - Snow Alarm (I2)' Status is On Then Wait 10 minutes Else Wait 10 minutes
MrBill Posted January 16, 2021 Posted January 16, 2021 (edited) The second program does nothing. The better approach is to use two programs: one for the off condition and one for the on condition. Gutter Heater Control ON If 'Weather - Snow Alarm (I2)' Status is On And 'Weather - Temp Alarm (I1)' Status is Off then Set 'Driveway / Gutter Driveway Power' On 100% Wait 1 minute Set 'Driveway / Gutter Porch Power' On 100% Wait 1 minute Set 'Garage / Gutter Garage Power' On 100% Run Program Gutter Heat Control OFF (if) Gutter Heater Control OFF (disabled) If 'Weather - Snow Alarm (I2)' Status is Off or 'Weather - Temp Alarm (I1)' Status is On then disable program gutter heat control ON Set 'Driveway / Gutter Driveway Power' Off Wait 1 minute Set 'Driveway / Gutter Porch Power' Off Wait 1 minute Dis Set 'Garage / Gutter Garage Power' Off wait 15 minutes Enable program gutter heat control ON Run Program gutter heat control ON (if) (I'm not sure of you need this line or not but it won't hurt) Else wait 15 minutes run Program Gutter Heat Control OFF (if) ----- The on program watches for the conditions required to turn on the equipment. The second program being disabled means that it will only run when we tell it to. So the first program turns the equipment on and runs the off program, if its not time to turn it off yet this program drops to the else loop and waits 15 minutes before ending by running itself again. Once we reach the then body we disable the on program, turn off the equipment, wait 15 minutes and re-enable the on program (which de-bounces) I think that should take care of all conditions. without turning the equipment off many times which occurs often when using Status and else bodies. What this doesn't do is stop excessive Insteon traffic from the EZ-IO, if the sensors are actually causing the problem by turning on/off repetitively. You may need to add a Time delay relay into the circuit between the actual sensor and the EZ-IO. I had that problem with another sensor and used this relay to debounce the circuit. (FYI... it's hard to understand the programming buttons of that relay and the functions, the instruction sheet is not very good and made it a frustrating process, but stick with it once you have it set you never need to touch it again... mines been working since 2016 without being reprogrammed.) Edited January 16, 2021 by MrBill
satwar Posted January 16, 2021 Author Posted January 16, 2021 My God, you figured out the solution and typed it, all within an hour. Now that’s pretty scary, but thank you for your time anyway. Using the run command is very powerful, but i’m afraid if the code ever breaks nobody will be able to fix it. But again thank you, it will take a few days to type it in.
larryllix Posted January 17, 2021 Posted January 17, 2021 (edited) 1 hour ago, satwar said: My God, you figured out the solution and typed it, all within an hour. Now that’s pretty scary, but thank you for your time anyway. Using the run command is very powerful, but i’m afraid if the code ever breaks nobody will be able to fix it. But again thank you, it will take a few days to type it in. Don't destroy your original code to enter the new code. You can enter it into a new version and disable the original and enable the new one when ready. Or you can copy the original program (right click on the name) to a new one (or two) and then edit both new ones to look like what you want, then disable the old program, keeping it until you are sure you can dump it. You make save some entering if done that way. The two programs could be combined into one program but it can get very complex for logic and will cause a lot of stress to understand the logic, if it should break. Edited January 17, 2021 by larryllix
MrBill Posted January 17, 2021 Posted January 17, 2021 2 hours ago, satwar said: My God, you figured out the solution and typed it, all within an hour. Now that’s pretty scary, but thank you for your time anyway. Using the run command is very powerful, but i’m afraid if the code ever breaks nobody will be able to fix it. But again thank you, it will take a few days to type it in. I didn't type much, I cut and pasted more. The keys are to use disable/enable and run program. and as @larryllix points out you can use disable and copy to your advantage in setting up the new programs.
satwar Posted January 17, 2021 Author Posted January 17, 2021 (edited) Okay, I've typed up the code. It took considerable time finding the correct menu to get the needed code. Hopefully you don't find any mistakes, but I would appreciate your review Now all I need is some snow. There hasn’t been very much this year. ************************************************ The first folder ************************************************ Gutter Heater Control ON - [ID 0015][Parent 000D] If 'Weather - Snow Alarm (I2)' Status is On And 'Weather - Temp Alarm (I1)' Status is Off Then Set 'Driveway / Gutter Driveway Power' On Wait 1 minute Set 'Driveway / Gutter Porch Power' On Wait 1 minute Set 'Garage / Gutter Garage Power' On Run Program 'Gutter Heater Control OFF (disabled)' (If) Else - No Actions - (To add one, press 'Action') ************************************************** and the second folder ************************************************** Gutter Heater Control OFF (disabled) - [ID 0017][Parent 000D][Not Enabled] If 'Weather - Snow Alarm (I2)' Status is Off Or 'Weather - Temp Alarm (I1)' Status is On Then Disable Program 'Gutter Heater Control ON' Set 'Driveway / Gutter Driveway Power' Off Wait 1 minute Set 'Garage / Gutter Garage Power' Off Wait 1 minute Set 'Driveway / Gutter Porch Power' Off Wait 15 minutes Enable Program 'Gutter Heater Control ON' Run Program 'Gutter Heater Control ON' (If) Else Wait 15 minutes Run Program 'Gutter Heater Control OFF (disabled)' (If) Edited January 17, 2021 by satwar
MrBill Posted January 17, 2021 Posted January 17, 2021 1 hour ago, satwar said: Okay, I've typed up the code. It took considerable time finding the correct menu to get the needed code. Hopefully you don't find any mistakes, but I would appreciate your review Now all I need is some snow. There hasn’t been very much this year. Programs look as expected! If you right click the on program and 'run then' i would expect it to cycle the sensors on then immediately off. I don't have any idea how your sensor works but perhaps crushed ice to test?
satwar Posted January 17, 2021 Author Posted January 17, 2021 Yes the manual test works. The wait 15 minutes is now active 1
MrBill Posted January 17, 2021 Posted January 17, 2021 (edited) @satwarYou might add one more program, the condition it handles is what happens if the ISY reboots while the heat is on. Gutter Heater Initialize (run at startup) If (nothing) Then Wait 5 minutes Run Program 'Gutter Heater Control OFF (disabled)' (Then) Else (nothing) The 5 minutes give the ISY time to finish booting up and for the Insteon Query on startup to finish. Then force runs the off program. Hint: to enable run at startup, create the program and save it, then Switch to the Programs | Summary tab, click the name of the program there to hi-light it then right click and you will see "Enable Run At Startup" in the context menu. Edited January 17, 2021 by MrBill
satwar Posted January 18, 2021 Author Posted January 18, 2021 **************************************************** The code I get for the new program is. Is this correct ?: ***************************************************** Gutter Heater Initialize (run at startup) - [ID 0059][Parent 000D] If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Wait 5 minutes Run Program 'Gutter Heater Control OFF (disabled)' (Then Path) Else - No Actions - (To add one, press 'Action')
satwar Posted January 18, 2021 Author Posted January 18, 2021 But the last step to get "Enable Run At Startup" to show up in context menu did not work
MrBill Posted January 18, 2021 Posted January 18, 2021 (edited) 1 hour ago, satwar said: But the last step to get "Enable Run At Startup" to show up in context menu did not work Hmmm, I started to say Yes it did, but you must have typed the run at startup in the title. the Actual automatically added tag would have been [Run At Startup] Did you switch to the summary tab? did you see the option? I'm not sure what "did not work" means. Did you select that and nothing happened? Edited January 18, 2021 by MrBill
satwar Posted January 18, 2021 Author Posted January 18, 2021 1 hour ago, satwar said: **************************************************** The code I get for the new program is. Is this correct ?: ***************************************************** Gutter Heater Initialize (run at startup) - [ID 0059][Parent 000D] If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Wait 5 minutes Run Program 'Gutter Heater Control OFF (disabled)' (Then Path) Else - No Actions - (To add one, press 'Action') Well the first question I asked was whether or not my code was typed correctly. The Run Program 'Gutter Heater Control OFF (disabled)' (Then Path) does not end with Then shown in your code. Yes I did get Enable Run at Startup in the context menu. Sorry for the confusion, I just didn't know what I was looking for.
satwar Posted January 18, 2021 Author Posted January 18, 2021 Sorry, but I forgot to ask whether or not the last program "Gutter Heater Initialize (run at startup)" ) was enabled or disabled ? Also am I supposed to run the Enable Run at Startup in right hand context menu after ISY starts up ?
MrBill Posted January 18, 2021 Posted January 18, 2021 (edited) 2 hours ago, satwar said: Well the first question I asked was whether or not my code was typed correctly. The Run Program 'Gutter Heater Control OFF (disabled)' (Then Path) does not end with Then shown in your code. Yes I did get Enable Run at Startup in the context menu. Sorry for the confusion, I just didn't know what I was looking for. Sorry, yes it's correct. I would have called it out if it wasn't. When I type these programs in the forum I'm doing it off the tips of my fingers and memory (and maybe cut and paste from a program posted above) and not using the admin console so their may be variations in the format, you correctly selected "then path" as opposed to my just labeling it (then) 1 hour ago, satwar said: Sorry, but I forgot to ask whether or not the last program "Gutter Heater Initialize (run at startup)" ) was enabled or disabled ? Also am I supposed to run the Enable Run at Startup in right hand context menu after ISY starts up ? I'm confused where we are with [Run at Startup]. On the Programs | Summary tag we want to see: Except with your Program name "Gutter Heat Initialize", but see how on my example it says "On" in the second column over? this will also add square bracketed [Run at Startup] to the end of the first line when you page the program in the forum, like this: Startup/UptimeCounter - [ID 008D][Parent 0001][Run At Startup] What "Run at Startup" actually accomplishes is forcing this program to Run during the ISY boot process. The Reason we want this little two line program to Run at Startup is this condition scenario: You're away on vacation, A winter storm arrives, the Gutter Heat turns on, melting begins... then the power fails, everything stops. When the power utility turns the power back on the Insteon modules will return in the ON state, but when the ISY boots up it won't initialize the programs correctly because the snow sensor and the temp alarm are likely already calling for melt. So the solution is this two line program, being tagged to Run at Startup.... it will wait 5 minutes, then turn off the Gutter Heat, at the end of the off loop if it needs to be on, it will turn back on but it it no longer needs to be on it will stay off. Edit to add: it doesn't matter if this runs when the heat is off (summer) it just makes sure its off. the real issue is that the OFF program is disabled, so we need to make sure it's running and the best way to do that is just force off state anytime we boot the ISY, so that if the gutter heat is turned on the ON program will have started the off program. So to specifically answer the question "Also am I supposed to run the Enable Run at Startup in right hand context menu after ISY starts up ?" No, you don't have to do anything after the ISY starts up, but we do want the "Run at Startup" program attribute turned on for this program. and to this question: "I forgot to ask whether or not the last program "Gutter Heater Initialize (run at startup)" ) was enabled or disabled ?" Enabled is correct. Edited January 18, 2021 by MrBill Added a section in explaination paragraph
satwar Posted January 18, 2021 Author Posted January 18, 2021 I still haven't understood the third program "Gutter Heater Initialized (run at startup)". I see all 3 programs listed 2 enabled, and 1 not enabled. But non of the programs in my entire system show Run At Startup. I believe my last problem is how do I turn the "Run At Startup" attribute on for the third program.
MrBill Posted January 18, 2021 Posted January 18, 2021 6 minutes ago, satwar said: I still haven't understood the third program "Gutter Heater Initialized (run at startup)". I see all 3 programs listed 2 enabled, and 1 not enabled. But non of the programs in my entire system show Run At Startup. I believe my last problem is how do I turn the "Run At Startup" attribute on for the third program. 1 - Highlight the row in the Summary tab by clicking the name of the program. 2. Right click and choose "Enable Run at Startup" (with the cursor on "Enable Run at Startup" as shown you must left click to make the action occur) 3. View the Run at Startup column to ensure it now says ON. 4. Done. Alternatively I just noticed (I've never used until now) you can also click the row to hi-light it, then use that dropdown above the table to choose "Enable Run at Startup" then click the Apply button to the enable the attribute. If these steps are not working for you please check the Help > About menu and make certain that your "Firmware version" and "UI version" numbers match exactly.
satwar Posted February 5, 2021 Author Posted February 5, 2021 On 1/17/2021 at 6:40 PM, MrBill said: Hello MrBill, I have been working with the multifunction relay module (CR05-V3.1), but I can't seem to figure out how to set up to reduce signal bounce. Any suggestions ?
Recommended Posts