From c41c8edd7e4d275885cbef72212e553a2c86c9b4 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Mon, 1 Aug 2016 12:10:17 +0500 Subject: - Added a few more protocols - Removed useless alarms - Optimizations --- src/org/traccar/protocol/Gps103ProtocolDecoder.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/org/traccar/protocol/Gps103ProtocolDecoder.java') diff --git a/src/org/traccar/protocol/Gps103ProtocolDecoder.java b/src/org/traccar/protocol/Gps103ProtocolDecoder.java index 821cf2d21..9d3fda345 100644 --- a/src/org/traccar/protocol/Gps103ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gps103ProtocolDecoder.java @@ -102,6 +102,23 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder { .any() .compile(); + private String decodeAlarm(String value) { + if (value == "tracker") { + return null; + } else if (value == "help me") { + return Position.ALARM_SOS; + } else if (value == "low battery") { + return Position.ALARM_LOW_BATTERY; + } else if (value == "stockade") { + return Position.ALARM_GEOFENCE; + } else if (value == "move") { + return Position.ALARM_MOVEMENT; + } else if (value == "speed") { + return Position.ALARM_OVERSPEED; + } + return null; + } + @Override protected Object decode( Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { @@ -195,7 +212,7 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder { position.setDeviceId(deviceSession.getDeviceId()); String alarm = parser.next(); - position.set(Position.KEY_ALARM, alarm); + position.set(Position.KEY_ALARM, decodeAlarm(alarm)); if (channel != null && alarm.equals("help me")) { channel.write("**,imei:" + imei + ",E;", remoteAddress); } -- cgit v1.2.3