Jump to content

Action ON-OFF-ON-OFF-ON transtion debounce


berko

Recommended Posts

Posted

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

Posted

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)
 

Posted

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

Posted

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

  • Like 1
Posted

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

Posted

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.

Guest
This topic is now closed to further replies.

×
×
  • Create New...