aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/events/AlertEventHandler.java10
-rw-r--r--src/org/traccar/model/Event.java5
-rw-r--r--src/org/traccar/protocol/H02ProtocolDecoder.java2
-rwxr-xr-xtools/test-generator.py2
-rw-r--r--web/app/controller/Root.js15
-rw-r--r--web/l10n/en.json13
6 files changed, 28 insertions, 19 deletions
diff --git a/src/org/traccar/events/AlertEventHandler.java b/src/org/traccar/events/AlertEventHandler.java
index 92d1566a7..61c2d7b16 100644
--- a/src/org/traccar/events/AlertEventHandler.java
+++ b/src/org/traccar/events/AlertEventHandler.java
@@ -29,15 +29,7 @@ public class AlertEventHandler extends BaseEventHandler {
Object alarm = position.getAttributes().get(Position.KEY_ALARM);
if (alarm != null) {
Collection<Event> events = new ArrayList<>();
- if(alarm.equals(Event.TYPE_SOS_ALARM)){
- events.add(new Event(Event.TYPE_SOS_ALARM, position.getDeviceId(), position.getId()));
- } else if(alarm.equals(Event.TYPE_VIBRATION_ALARM)){
- events.add(new Event(Event.TYPE_VIBRATION_ALARM, position.getDeviceId(), position.getId()));
- } else if(alarm.equals(Event.TYPE_MOVEMENT_ALARM)){
- events.add(new Event(Event.TYPE_MOVEMENT_ALARM, position.getDeviceId(), position.getId()));
- } else if(alarm.equals(Event.TYPE_OVERSPEED_ALARM)){
- events.add(new Event(Event.TYPE_OVERSPEED_ALARM, position.getDeviceId(), position.getId()));
- }
+ events.add(new Event(Event.TYPE_ALARM, position.getDeviceId(), position.getId()));
return events;
}
return null;
diff --git a/src/org/traccar/model/Event.java b/src/org/traccar/model/Event.java
index 3a0056bd6..a2c346688 100644
--- a/src/org/traccar/model/Event.java
+++ b/src/org/traccar/model/Event.java
@@ -48,10 +48,7 @@ public class Event extends Message {
public static final String TYPE_GEOFENCE_ENTER = "geofenceEnter";
public static final String TYPE_GEOFENCE_EXIT = "geofenceExit";
- public static final String TYPE_SOS_ALARM = "sosAlarm";
- public static final String TYPE_VIBRATION_ALARM = "vibrationAlarm";
- public static final String TYPE_MOVEMENT_ALARM = "movementAlarm";
- public static final String TYPE_OVERSPEED_ALARM = "overspeedAlarm";
+ public static final String TYPE_ALARM = "alarm";
private Date serverTime;
diff --git a/src/org/traccar/protocol/H02ProtocolDecoder.java b/src/org/traccar/protocol/H02ProtocolDecoder.java
index 09375958e..51bcfa26c 100644
--- a/src/org/traccar/protocol/H02ProtocolDecoder.java
+++ b/src/org/traccar/protocol/H02ProtocolDecoder.java
@@ -68,7 +68,7 @@ public class H02ProtocolDecoder extends BaseProtocolDecoder {
|| !BitUtil.check(status, 3) || !BitUtil.check(status, 4) || !BitUtil.check(status, 7)) {
if (!BitUtil.check(status, 0)){
- position.set(Position.KEY_ALARM, Event.TYPE_VIBRATION_ALARM);//theft alarm
+ position.set(Position.KEY_ALARM, Position.ALARM_VIBRATION);//theft alarm in protocol
} else if (!BitUtil.check(status, 1)){
position.set(Position.KEY_ALARM, "robbery");
} else if (!BitUtil.check(status, 3)){
diff --git a/tools/test-generator.py b/tools/test-generator.py
index 54e5feced..cedbe9c69 100755
--- a/tools/test-generator.py
+++ b/tools/test-generator.py
@@ -35,7 +35,7 @@ for i in range(0, len(waypoints)):
def send(lat, lon, course, alarm):
params = (('id', id), ('timestamp', int(time.time())), ('lat', lat), ('lon', lon), ('bearing', course))
if alarm:
- params = params + (('alarm', 'sosAlarm'),)
+ params = params + (('alarm', 'sos'),)
urllib2.urlopen(server + '?' + urllib.urlencode(params)).read()
def course(lat1, lon1, lat2, lon2):
diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js
index dec3c9158..b508cc5ef 100644
--- a/web/app/controller/Root.js
+++ b/web/app/controller/Root.js
@@ -156,6 +156,21 @@ Ext.define('Traccar.controller.Root', {
}
}
text = Strings.eventCommandResult + ': ' + text;
+ } else if (array[i].type === 'alarm' && data.positions) {
+ text = 'Alarm';
+ for (j = 0; j < data.positions.length; j++) {
+ if (data.positions[j].id === array[i].positionId && data.positions[j].attributes.alarm != null) {
+ if (typeof data.positions[j].attributes.alarm === 'string' && data.positions[j].attributes.alarm.length >= 2){
+ var alarmKey = 'alarm' + data.positions[j].attributes.alarm.charAt(0).toUpperCase() + data.positions[j].attributes.alarm.slice(1);
+ text = Strings[alarmKey];
+ if (typeof text === 'undefined') {
+ text = alarmKey;
+ }
+ text = 'Alarm: ' + text;
+ }
+ break;
+ }
+ }
} else {
typeKey = 'event' + array[i].type.charAt(0).toUpperCase() + array[i].type.slice(1);
text = Strings[typeKey];
diff --git a/web/l10n/en.json b/web/l10n/en.json
index 2f930a27c..ff432d444 100644
--- a/web/l10n/en.json
+++ b/web/l10n/en.json
@@ -118,10 +118,15 @@
"eventCommandResult": "Command result",
"eventGeofenceEnter": "Device has entered geofence",
"eventGeofenceExit": "Device has exited geofence",
- "eventSosAlarm": "SOS alarm",
- "eventVibrationAlarm": "Vibration alarm",
- "eventMovementAlarm": "Movement alarm",
- "eventOverspeedAlarm": "Overspeed alarm",
+ "eventAlarm": "Alarms",
+ "alarmSos": "sos",
+ "alarmVibration": "vibration",
+ "alarmMovement": "movement",
+ "alarmOverspeed": "overspeed",
+ "alarmFallDown": "fallDown",
+ "alarmLowBattery": "lowBattery",
+ "alarmMotion": "motion",
+ "alarmFault": "fault",
"notificationType": "Type of Notification",
"notificationWeb": "Send via Web",
"notificationMail": "Send via Mail"