GeoEvent Processor Incident Detector

5281
7
02-19-2014 10:17 AM
LawrenceRover
New Contributor III
I am trying to create an incident detector processor to monitor idle speed in my vehicles.  I have setup the opening condition of Speed = 0.0, but I only want this to become an incident after a 30 minute duration of time has elapsed.  For instance truck ID 123 started idle time (speed=0) at 2/19/2014 12:15 UTC (pulled from TimeStamp) and after TimeStamp reached 2/19/2014 12:45 UTC and Speed still equals 0 a notification would be sent.  Any help would be greatly appreciated.

Thanks,

Larry Rover
GIS Manager
RA Consultants, LLC
0 Kudos
7 Replies
MingZhao
New Contributor III
Larry,

What you can do is to set up two incident detectors.  First one will be on speed = 0 and that the incident type will be cumulative.  Feed the incidents from the first incident detector to the second incident detector.  The second one will be on duration > 1800 seconds (30 minutes).  You may also place filters between if your business rules require them. 

Hope this works for you.  There are other ways to do this but this seems to be the easiest.

Thanks,

Ming
0 Kudos
LawrenceRover
New Contributor III
Larry,

What you can do is to set up two incident detectors.  First one will be on speed = 0 and that the incident type will be cumulative.  Feed the incidents from the first incident detector to the second incident detector.  The second one will be on duration > 1800 seconds (30 minutes).  You may also place filters between if your business rules require them. 

Hope this works for you.  There are other ways to do this but this seems to be the easiest.

Thanks,

Ming


Thanks Ming!  That worked perfectly!
0 Kudos
LydiaThacker
New Contributor II
I am not able to get the idle time to work.
I have a few questions:
What definition should be used when you select duration on the second incident detector?
Should the second incident detector be set to PointInTime?
Should I have an ExpiryTime on the first Incident Detector?
0 Kudos
MingZhao
New Contributor III
I am not able to get the idle time to work.
I have a few questions:
What definition should be used when you select duration on the second incident detector?
Should the second incident detector be set to PointInTime?
Should I have an ExpiryTime on the first Incident Detector?


The second incident detector will work on the output of the first incident detector.  That output is the incident geoevent.  As a result, the second incident detector should be checking the duration field of the incident geoevent definition.  In terms of whether to set the 2nd incident detector to PointInTime or Cumulative depends on your business requirements.  In most cases, I think you will use PointInTime.  I don't think you need a ExpiryTime on the first incident detector.

If this configuration does not work with your data, you may need to break it down and analyze each piece.  For example, you can send the incidents from the first incident detector out to a tcp window or a file so that you can verify that the incidents are created from the first incident detector exactly as you expected. 

Finally, there is another way to detect idle.  We added a custom processor to the Esri Gallery which is called Track Idle Detector.  It can be found here.  http://www.arcgis.com/home/item.html?id=5d8e3446736d4df299c7c96bc275d561.  It will generate idle alerts if the geoevent has not moved certain distance within a certain amount of time.


Regards,

Ming
0 Kudos
LawrenceRover
New Contributor III

Finally, there is another way to detect idle.  We added a custom processor to the Esri Gallery which is called Track Idle Detector.  It can be found here.  http://www.arcgis.com/home/item.html?id=5d8e3446736d4df299c7c96bc275d561.  It will generate idle alerts if the geoevent has not moved certain distance within a certain amount of time.


Regards,

Ming


I was trying the new custom processor "Track Idle Time", however it looks like it isn't working properly. It appears to only be generating an incident when the device is turned off/loses GPS signal.  I am using the NMEA connector as an input so the data in the timestamp and speed columns is correct. Any help would be appreciated, I have attached the generated .jar file.

Thanks,

Larry Rover
RA Consultants
0 Kudos
MingZhao
New Contributor III
Larry,

To use track idle detector properly, you need to keep feeding geoevents to the GEP.  Make sure you have track_id field set up correctly.  Otherwise, it won't be able to compare agains the last point.  The track idle detector looks at the location of the geoevent and compares it with the location of the last known moved geoevent.  If they are the same or within the tolerance, the status because idle.  But it won't send out alerts until the idle time treshold is met.  The tolerance and the idle threshold are all properties of the processor. If the location of the geoevent is different from the previous one or outside the tolerance of the last point, it will become the last know moved geoevent.  

If it still fails, see if there is any error messages in the log file.

Thanks,

Ming
0 Kudos
RobertMarros
Occasional Contributor II

I was looking for some help on using the incident detector to only send an email on the first occurrence something has happened.  Currently we have data being sent into GeoEvent with different statuses (Idle vs. working) every five seconds. I am using an incident detector to open an condition when the device sending the data is in a specific boundary and is in a "Working" status.  The problem I have that is as long as the device is sending the "Working" status it gets passed through the opening condition and onto the email output.  This will repeat every five seconds until the meets the closing condition of status not equal to "Working".  I am looking for some help on how to control geoevent from continually sending emails multiple times and only send an email the first time the condition (status = Working) is met.

Jason

0 Kudos