diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-08-05 08:50:20 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-05 08:50:20 +0300 |
commit | e15f80a0eb5c57a90a98773e8d21ae20e98a8910 (patch) | |
tree | 3d81f8c60ef3fe8adcd0064c01ab0695122baa8f /src/org/traccar/protocol/Gps103ProtocolDecoder.java | |
parent | 132fbb9bd658490ea77aae50e20257b680c3cceb (diff) | |
parent | 791a010e5a449a27e8243b9bc98c918ffa054eac (diff) | |
download | trackermap-server-e15f80a0eb5c57a90a98773e8d21ae20e98a8910.tar.gz trackermap-server-e15f80a0eb5c57a90a98773e8d21ae20e98a8910.tar.bz2 trackermap-server-e15f80a0eb5c57a90a98773e8d21ae20e98a8910.zip |
Merge pull request #2166 from Abyss777/alarms
Organized alarms in the first part of protocols
Diffstat (limited to 'src/org/traccar/protocol/Gps103ProtocolDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/Gps103ProtocolDecoder.java | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/Gps103ProtocolDecoder.java b/src/org/traccar/protocol/Gps103ProtocolDecoder.java index 821cf2d21..b153984cb 100644 --- a/src/org/traccar/protocol/Gps103ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gps103ProtocolDecoder.java @@ -102,6 +102,25 @@ public class Gps103ProtocolDecoder extends BaseProtocolDecoder { .any() .compile(); + private String decodeAlarm(String value) { + switch (value) { + case "tracker": + return null; + case "help me": + return Position.ALARM_SOS; + case "low battery": + return Position.ALARM_LOW_BATTERY; + case "stockade": + return Position.ALARM_GEOFENCE; + case "move": + return Position.ALARM_MOVEMENT; + case "speed": + return Position.ALARM_OVERSPEED; + default: + return null; + } + } + @Override protected Object decode( Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { @@ -195,7 +214,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); } |