berko Posted March 29, 2019 Posted March 29, 2019 I have a zwave device that is triggered by a motion detection setup. The detection will actually bounce the wave ON then OFF then ON then OFF several times quickly. It lasts about 5 seconds? How can I capture that event and send 1 email. Turn on a light for a set period of time etc. How do I "debounce" that? Maybe variables? I am a programmer but have not studied ISY much. Looking for a short cut Busy with real job. Any pointers? TIA
berko Posted March 29, 2019 Author Posted March 29, 2019 if I watch the console, it goes from ON to OFF and then ON onononon OFF on OFF on OFF on OFFFFFF BEEP BEEP BEEP BEEEEEEP First Event Fri 03/29/2019 03:14:40 PM : [ZWAVE-RX ZW002_1] [71/05] Alarm Report [0617] Unrecognized Event 0x17 [000000FF0617000000] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:14:40 PM : [ZWAVE-RX ZW002_1] [30/03] CC=0x30 cmd=0x03 [00FF] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:14:40 PM : [D2D EVENT ] Event [ZW002_104] [ST] [0] uom=78 prec=0 Fri 03/29/2019 03:14:40 PM : [ ZW002_104] ST 0 (uom=78 prec=0) Fri 03/29/2019 03:14:40 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=0 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> true Fri 03/29/2019 03:14:40 PM : [D2D EVENT ] Event [ZW002_104] [DOF] [0] uom=78 prec=0 Fri 03/29/2019 03:14:40 PM : [ ZW002_104] DOF 0 (uom=78 prec=0) Fri 03/29/2019 03:14:41 PM : [ZWAVE-RX ZW002_1] [71/05] Alarm Report [0616] Unrecognized Event 0x16 [000000FF0616000000] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:14:41 PM : [ZWAVE-RX ZW002_1] [30/03] CC=0x30 cmd=0x03 [FFFF] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:14:41 PM : [D2D EVENT ] Event [ZW002_104] [ST] [100] uom=78 prec=0 Fri 03/29/2019 03:14:41 PM : [ ZW002_104] ST 100 (uom=78 prec=0) Fri 03/29/2019 03:14:41 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=100 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> false Fri 03/29/2019 03:14:41 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:14:41 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Fri 03/29/2019 03:14:41 PM : [ZWAVE-RX ZW002_1] [20/01] Basic Set val=0xFF ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:14:41 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:14:41 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Second Time triggered Fri 03/29/2019 03:17:07 PM : [ZWAVE-RX ZW002_1] [71/05] Alarm Report [0617] Unrecognized Event 0x17 [000000FF0617000000] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:17:07 PM : [ZWAVE-RX ZW002_1] [30/03] CC=0x30 cmd=0x03 [00FF] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:17:07 PM : [D2D EVENT ] Event [ZW002_104] [ST] [0] uom=78 prec=0 Fri 03/29/2019 03:17:07 PM : [ ZW002_104] ST 0 (uom=78 prec=0) Fri 03/29/2019 03:17:07 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=0 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> true Fri 03/29/2019 03:17:07 PM : [D2D EVENT ] Event [ZW002_104] [DOF] [0] uom=78 prec=0 Fri 03/29/2019 03:17:07 PM : [ ZW002_104] DOF 0 (uom=78 prec=0) Fri 03/29/2019 03:17:08 PM : [ZWAVE-RX ZW002_1] [71/05] Alarm Report [0616] Unrecognized Event 0x16 [000000FF0616000000] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:17:08 PM : [ZWAVE-RX ZW002_1] [30/03] CC=0x30 cmd=0x03 [FFFF] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:17:08 PM : [D2D EVENT ] Event [ZW002_104] [ST] [100] uom=78 prec=0 Fri 03/29/2019 03:17:08 PM : [ ZW002_104] ST 100 (uom=78 prec=0) Fri 03/29/2019 03:17:08 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=100 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> false Fri 03/29/2019 03:17:08 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:17:08 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Fri 03/29/2019 03:17:08 PM : [ZWAVE-RX ZW002_1] [20/01] Basic Set val=0xFF ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:17:08 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:17:08 PM : [ ZW002_104] DON 100 (uom=78 prec=0) More Info Fri 03/29/2019 03:21:30 PM : [D2D EVENT ] Event [ZW002_104] [ST] [0] uom=78 prec=0 Fri 03/29/2019 03:21:30 PM : [ ZW002_104] ST 0 (uom=78 prec=0) Fri 03/29/2019 03:21:30 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=0 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> true Fri 03/29/2019 03:21:30 PM : [D2D EVENT ] Event [ZW002_104] [DOF] [0] uom=78 prec=0 Fri 03/29/2019 03:21:30 PM : [ ZW002_104] DOF 0 (uom=78 prec=0) Fri 03/29/2019 03:21:31 PM : [D2D EVENT ] Event [ZW002_104] [ST] [100] uom=78 prec=0 Fri 03/29/2019 03:21:31 PM : [ ZW002_104] ST 100 (uom=78 prec=0) Fri 03/29/2019 03:21:31 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=100 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> false Fri 03/29/2019 03:21:31 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:21:31 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Fri 03/29/2019 03:21:31 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:21:31 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Device communicaiton events Fri 03/29/2019 03:22:26 PM : [ZWAVE-RX ZW002_1] [71/05] Alarm Report [0617] Unrecognized Event 0x17 [000000FF0617000000] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:22:26 PM : [ZWAVE-RX ZW002_1] [30/03] CC=0x30 cmd=0x03 [00FF] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:22:26 PM : [D2D EVENT ] Event [ZW002_104] [ST] [0] uom=78 prec=0 Fri 03/29/2019 03:22:26 PM : [ ZW002_104] ST 0 (uom=78 prec=0) Fri 03/29/2019 03:22:26 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=0 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> true Fri 03/29/2019 03:22:26 PM : [D2D EVENT ] Event [ZW002_104] [DOF] [0] uom=78 prec=0 Fri 03/29/2019 03:22:26 PM : [ ZW002_104] DOF 0 (uom=78 prec=0) Fri 03/29/2019 03:22:27 PM : [ZWAVE-RX ZW002_1] [71/05] Alarm Report [0616] Unrecognized Event 0x16 [000000FF0616000000] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:22:27 PM : [ZWAVE-RX ZW002_1] [30/03] CC=0x30 cmd=0x03 [FFFF] ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:22:27 PM : [D2D EVENT ] Event [ZW002_104] [ST] [100] uom=78 prec=0 Fri 03/29/2019 03:22:27 PM : [ ZW002_104] ST 100 (uom=78 prec=0) Fri 03/29/2019 03:22:27 PM : [D2D-CMP 0009] STS [ZW002_104] ST op=1 Event(val=100 uom=78 prec=0) is Condition(val=0 uom=78 prec=0) --> false Fri 03/29/2019 03:22:27 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:22:27 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Fri 03/29/2019 03:22:28 PM : [ZWAVE-RX ZW002_1] [20/01] Basic Set val=0xFF ACK,AUTO,EXPLORE From=0x02 Fri 03/29/2019 03:22:28 PM : [D2D EVENT ] Event [ZW002_104] [DON] [100] uom=78 prec=0 Fri 03/29/2019 03:22:28 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Status Operation Events Fri 03/29/2019 03:23:02 PM : [ ZW002_104] ST 0 (uom=78 prec=0) Fri 03/29/2019 03:23:02 PM : [ ZW002_104] DOF 0 (uom=78 prec=0) Fri 03/29/2019 03:23:03 PM : [ ZW002_104] ST 100 (uom=78 prec=0) Fri 03/29/2019 03:23:03 PM : [ ZW002_104] DON 100 (uom=78 prec=0) Fri 03/29/2019 03:23:03 PM : [ ZW002_104] DON 100 (uom=78 prec=0)
larryllix Posted March 29, 2019 Posted March 29, 2019 I don't have any zwave but with Insteon you could possibly trigger a program using the switched event ANDed with the On status.I am not sure how ISY works with zwave triggers but it would worth a try.Another technique would be to have another program enable a trap program when the status goes on.In the newly enabled trap program you could capture the same event and notify from it, then wait 1-2 seconds and disable itself again.Sent using Tapatalk
paulbates Posted March 29, 2019 Posted March 29, 2019 Hi and welcome to the UDI forums! There is a way to debounce, it will take 3 small programs. 1. Capture the sensor trip and also don't re-execute for specified time. Its important that the second statement check for false. Its also important to run another program that sends the notification and not put the notification statement here. That won't work Capture sensor trip If Zwave sesnor switches on <enter your device statement here> And Program 'sensor tripped Recently?' is False Then Run Program 'Sensor Notification' Else - No Actions - (To add one, press 'Action') 2 - Cause the first program to not re-execute for the specified time window. Enter/change the amount of time that works for you for how long to wait before checking again Sensor tripped Recently? If From Last Run Time for 'Sensor Notification' For 20 minutes <you decide interval to wait> Then - No Actions - (To add one, press 'Action') Else - No Actions - (To add one, press 'Action') 3 - Send the notification. Needs to be a separate program so that program 2 has something to check. I disable this program in the list Sensor notification [Not Enabled] If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Send Notification...... Else Paul 1
berko Posted March 30, 2019 Author Posted March 30, 2019 Thank you for the answers. I will try them out. I did play with it a bit more. It almost seems like the transitions are too fast. I wrote a program that said if the zwave device goes from ON to OFF THEN wait 6 seconds Fast turn on a lamp wait 10 seconds fast turn off the lamp ELSE END The program doesn't always catch the transition it seems. Are programs "event driven"/triggered or do they just scan the network on some frequency? The messages are sent very quickly as you can see from the logs above. Within one second. The device I am monitoring plays Beethoven Da da da Daaa. Not sure how much time that really is. Maybe I need some latching circuit? TIA
mwester Posted March 30, 2019 Posted March 30, 2019 Ah, thanks for the clarification. In order to catch something like Beethoven you need a device with response times measured in milliseconds -- the ISY's response is measured in seconds, generally. So yes, you'll need an external circuit to latch and hold on the signal so that the ISY can respond correctly.
Recommended Posts