diff options
-rw-r--r-- | src/org/traccar/events/AlertEventHandler.java | 10 | ||||
-rw-r--r-- | src/org/traccar/model/Event.java | 5 | ||||
-rw-r--r-- | src/org/traccar/protocol/H02ProtocolDecoder.java | 2 | ||||
-rwxr-xr-x | tools/test-generator.py | 2 | ||||
-rw-r--r-- | web/app/controller/Root.js | 15 | ||||
-rw-r--r-- | web/l10n/en.json | 13 |
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" |