aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-09-10 16:37:53 -0700
committerAnton Tananaev <anton@traccar.org>2022-09-10 16:37:53 -0700
commit18807d840ce04f8052f4b1fc842f4ad2da958326 (patch)
tree9959a31c7a2a54493937ddaa87c0be4bb7d3060c
parent725195a271f4313255b80c99278b3a91cff799e1 (diff)
downloadtrackermap-server-18807d840ce04f8052f4b1fc842f4ad2da958326.tar.gz
trackermap-server-18807d840ce04f8052f4b1fc842f4ad2da958326.tar.bz2
trackermap-server-18807d840ce04f8052f4b1fc842f4ad2da958326.zip
Fix GT800 door decoding
-rw-r--r--src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java7
-rw-r--r--src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java4
2 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
index 885ea4bab..7eeee5efb 100644
--- a/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
+++ b/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java
@@ -987,6 +987,13 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder {
} else if (subType == 0x05) {
+ if (buf.readableBytes() >= 6 + 1 + 6) {
+ DateBuilder dateBuilder = new DateBuilder((TimeZone) deviceSession.get(DeviceSession.KEY_TIMEZONE))
+ .setDate(buf.readUnsignedByte(), buf.readUnsignedByte(), buf.readUnsignedByte())
+ .setTime(buf.readUnsignedByte(), buf.readUnsignedByte(), buf.readUnsignedByte());
+ position.setDeviceTime(dateBuilder.getDate());
+ }
+
int flags = buf.readUnsignedByte();
position.set(Position.KEY_DOOR, BitUtil.check(flags, 0));
position.set(Position.PREFIX_IO + 1, BitUtil.check(flags, 2));
diff --git a/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java
index 6ab78260c..1570dcf32 100644
--- a/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java
+++ b/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java
@@ -18,6 +18,10 @@ public class Gt06ProtocolDecoderTest extends ProtocolTest {
"78780D01086471700328358100093F040D0A"));
verifyAttribute(decoder, binary(
+ "7979000d940516090908081c030defbd2d0d0a"),
+ Position.KEY_DOOR, true);
+
+ verifyAttribute(decoder, binary(
"78782516160908063736c0006e70110442fc800000000800000000000000000300002512000473fb0d0a"),
Position.KEY_ALARM, Position.ALARM_TAMPERING);