autoperformance Posted October 2, 2021 Posted October 2, 2021 Hello everybody. I would like to make a program to flash interior lights, when a leak detector is activated. I'm not sure how to start. I made a flood light indicator group scene, but I have difficulty programming a program that will be activated in another program. For example, (flashing light program) enabled in Leak detection program. I would like it to flash every 1 to 2 seconds until the sensor is reset to "DRY" position. I already have a main water valve shutoff that closes, and email notification when there is a leak. I would like to embed a line that points to a program that flashes lights ideally. Maybe I'm wrong and it's not the right way to go. I await your suggestions. thank you
larryllix Posted October 2, 2021 Posted October 2, 2021 (edited) 7 hours ago, autoperformance said: Hello everybody. I would like to make a program to flash interior lights, when a leak detector is activated. I'm not sure how to start. I made a flood light indicator group scene, but I have difficulty programming a program that will be activated in another program. For example, (flashing light program) enabled in Leak detection program. I would like it to flash every 1 to 2 seconds until the sensor is reset to "DRY" position. I already have a main water valve shutoff that closes, and email notification when there is a leak. I would like to embed a line that points to a program that flashes lights ideally. Maybe I'm wrong and it's not the right way to go. I await your suggestions. thank you First you probably will want to get rid of the line to turn the water valve back on in the same program. You should want to ensure things are OK first by physically looking and there is three states of logic there, not just two as only one program provides. Trigger= emergency, waiting for human intervention=off, and restoring=on. BTW: Your program font is so small I cannot read some of it. Use the "copy to clipboard " (right click on program name) and then paste it into you post instead. If ....water leak detected Then set water valve to off send notification "water leak" to autoperfomance run program (If) Flash Desk Light Else ---- Flash desk light - [ID 0095][Parent 0001][Not Enabled] If From 7:00:00AM <--------------- optional for no-bother sleeping To 11:59:00PM (same day) <----- as above Then $DeskPot.level.saved = 'Gathering Room / PotLight over Desk' Status Repeat 1000 times Set 'Gathering Room / PotLight over Desk' Fast On Set 'Gathering Room / PotLight over Desk' Fast Off Wait 1 second Repeat 1 times Wait 1 second Set 'Gathering Room / PotLight over Desk' On '$DeskPot.level.saved %' Else - No Actions - (To add one, press 'Action') Note: I do not use this method now. I have MagicHome bulbs and they have a built in flash in any speed and colour and ISY just sends the code and they self flash until stopped. Edited October 2, 2021 by larryllix 1
autoperformance Posted October 2, 2021 Author Posted October 2, 2021 10 hours ago, larryllix said: First you probably will want to get rid of the line to turn the water valve back on in the same program. You should want to ensure things are OK first by physically looking and there is three states of logic there, not just two as only one program provides. Trigger= emergency, waiting for human intervention=off, and restoring=on. BTW: Your program font is so small I cannot read some of it. Use the "copy to clipboard " (right click on program name) and then paste it into you post instead. If ....water leak detected Then set water valve to off send notification "water leak" to autoperfomance run program (If) Flash Desk Light Else ---- Flash desk light - [ID 0095][Parent 0001][Not Enabled] If From 7:00:00AM <--------------- optional for no-bother sleeping To 11:59:00PM (same day) <----- as above Then $DeskPot.level.saved = 'Gathering Room / PotLight over Desk' Status Repeat 1000 times Set 'Gathering Room / PotLight over Desk' Fast On Set 'Gathering Room / PotLight over Desk' Fast Off Wait 1 second Repeat 1 times Wait 1 second Set 'Gathering Room / PotLight over Desk' On '$DeskPot.level.saved %' Else - No Actions - (To add one, press 'Action') Note: I do not use this method now. I have MagicHome bulbs and they have a built in flash in any speed and colour and ISY just sends the code and they self flash until stopped. Hi larryllix I try that and the program run only once and stop... "One Flash only" Flooding flashing light Copy - [ID 0014][Parent 0001] If From 12:00:01AM it's for test... I will change later To 11:59:59PM (same day) same above Then Set 'Flooding light group' Fast On Set 'Flooding light group' Fast Off Repeat 1000 times Wait 1 second Repeat 1 times Wait 1 second Else - No Actions - (To add one, press 'Action') For the water valve, it's a reverse logic. It's "ON" instead "OFF" because the output of the ELK system are activated to close the valve. For the main leak program it's this : Leak Sensor Kitchen - [ID 0007][Parent 0001] If 'Leak Sensor Kitchen-Wet' Status is On Then Send Notification to 'Leak Sensor Kitchen' Set Elk Output 'Water Valve' On Run Program 'Flooding flashing light' (If) Else - No Actions - (To add one, press 'Action') Don't know the problem to be honnest. Try many thing, always same problem.
gzahar Posted October 3, 2021 Posted October 3, 2021 (edited) 4 hours ago, autoperformance said: Then Set 'Flooding light group' Fast On Set 'Flooding light group' Fast Off Repeat 1000 times Wait 1 second Repeat 1 times Wait 1 second Needs to be: Then Repeat 1000 times Set 'Flooding light group' Fast On Set 'Flooding light group' Fast Off Wait 1 second Repeat 1 times Wait 1 second Also, last 2 lines are not doing anything in this setup. Edited October 3, 2021 by gzahar 1 1
larryllix Posted October 3, 2021 Posted October 3, 2021 In addition to @gzahar's comments above, the first and last line as I posted, will save the current level of the light you are "borrowing" to do the flashing, and restore the same level when it is done. Please look your program over and try to copy the program more accurately. 1
autoperformance Posted October 3, 2021 Author Posted October 3, 2021 8 hours ago, larryllix said: In addition to @gzahar's comments above, the first and last line as I posted, will save the current level of the light you are "borrowing" to do the flashing, and restore the same level when it is done. Please look your program over and try to copy the program more accurately. 10 hours ago, gzahar said: Needs to be: Then Repeat 1000 times Set 'Flooding light group' Fast On Set 'Flooding light group' Fast Off Wait 1 second Repeat 1 times Wait 1 second Also, last 2 lines are not doing anything in this setup. Everything works fine now. Thank you 1
Teken Posted October 3, 2021 Posted October 3, 2021 You’re playing with fire going this route. It’s best to use what Larry suggests or something like a strobe / reader board to call out a condition.The endless 1 second repeats will lock the controller up and your access will be limited if required.
autoperformance Posted October 3, 2021 Author Posted October 3, 2021 (edited) 50 minutes ago, Teken said: You’re playing with fire going this route. It’s best to use what Larry suggests or something like a strobe / reader board to call out a condition. The endless 1 second repeats will lock the controller up and your access will be limited if required. What do you mean with play with fire? Edited October 3, 2021 by autoperformance
Teken Posted October 3, 2021 Posted October 3, 2021 What do you mean with play with fire?When you ask the controller to repeat something in very short sequence / duration. If this condition exists for a very long time or (IF) other programs are taxing the system while this scenario is happening the end result is the controller can become unresponsive / bricked.As such it’s important to limit tight loop programs.
MrBill Posted October 3, 2021 Posted October 3, 2021 3 hours ago, autoperformance said: What do you mean with play with fire? 2 hours ago, Teken said: When you ask the controller to repeat something in very short sequence / duration. If this condition exists for a very long time or (IF) other programs are taxing the system while this scenario is happening the end result is the controller can become unresponsive / bricked. As such it’s important to limit tight loop programs. The greatest limiting factor is the speed of the Insteon Protocol, it's very slow. You'd be much better if you set the interval to 5 seconds or greater. Or even better, adjust the ramp rate of a dimmable load to 30 seconds, then make the loop turn on the light, wait 30 seconds, turn the light off, wait 2 seconds and repeat that. This prevents the insteon network from being overloaded with communication traffic. (be sure to reset the ramp rate when the alarm is over tho.) 1
larryllix Posted October 3, 2021 Posted October 3, 2021 (edited) @autoperformanceYes. My bad! This was a test program to indicate conditions during testing programs inside my ISY and was only designed to flash a few times at that rate. As per @MrBill's recommendations above, Change the Wait timer to about 5 seconds and you should be OK not to jam up your Insteon comm channel. It needs some rest every few group sends like that. There is no real bricking. Your ISY may just get real slow to respond. Edited October 3, 2021 by larryllix
autoperformance Posted October 3, 2021 Author Posted October 3, 2021 26 minutes ago, MrBill said: The greatest limiting factor is the speed of the Insteon Protocol, it's very slow. You'd be much better if you set the interval to 5 seconds or greater. Or even better, adjust the ramp rate of a dimmable load to 30 seconds, then make the loop turn on the light, wait 30 seconds, turn the light off, wait 2 seconds and repeat that. This prevents the insteon network from being overloaded with communication traffic. (be sure to reset the ramp rate when the alarm is over tho.) Why ajuting the ramp rate
MrBill Posted October 3, 2021 Posted October 3, 2021 7 minutes ago, autoperformance said: Why ajuting the ramp rate the device manages the ramp rate, so you're not sending as much traffic.... if you set the ramp rate the 30 seconds then send on, the light will slowing grow brighter for 30 seconds, then turn off, wait and turn on again... the insteon network only sees On, wait 30, Off, wait 2, <repeat> so there is only 2 insteon commands being sent every 32 seconds, and the effect should be attention getting. Another method if you have color changing light bulbs is just use a color like red and don't flash.
Recommended Posts