From a425ea42de76ba81890fb52b1f06eff82bba1ded Mon Sep 17 00:00:00 2001 From: casswarry0 Date: Sun, 21 Nov 2021 10:41:19 -0700 Subject: Changes to POSITION data type according to eeLink Device Protocol V2.2 (A4) added --- src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java b/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java index 613710587..3e805097c 100644 --- a/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java @@ -218,6 +218,17 @@ public class EelinkProtocolDecoder extends BaseProtocolDecoder { buf.skipBytes(7); // bss2 } + if (BitUtil.check(flags, 7)) { + buf.readUnsignedByte(); // rat + short noc = buf.readUnsignedByte(); // noc + if (noc > 0) { + buf.skipBytes(19); // lte-srv + for (short i = 1; i < noc; i++) { + buf.skipBytes(5); // lte-nbr + } + } + } + if (type == MSG_WARNING) { position.set(Position.KEY_ALARM, decodeAlarm(buf.readUnsignedByte())); -- cgit v1.2.3 From 17370d68fe7383226d1d23a967985e9da4153601 Mon Sep 17 00:00:00 2001 From: casswarry0 Date: Tue, 23 Nov 2021 10:39:19 -0700 Subject: Revert changes to POSITION data type. Fix error with protocol version reporting from Traccar server to eeLink device to prevent eeLink device from sending LTE cell info. --- .../java/org/traccar/protocol/EelinkProtocolDecoder.java | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java b/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java index 3e805097c..8fe12fe69 100644 --- a/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java @@ -218,17 +218,6 @@ public class EelinkProtocolDecoder extends BaseProtocolDecoder { buf.skipBytes(7); // bss2 } - if (BitUtil.check(flags, 7)) { - buf.readUnsignedByte(); // rat - short noc = buf.readUnsignedByte(); // noc - if (noc > 0) { - buf.skipBytes(19); // lte-srv - for (short i = 1; i < noc; i++) { - buf.skipBytes(5); // lte-nbr - } - } - } - if (type == MSG_WARNING) { position.set(Position.KEY_ALARM, decodeAlarm(buf.readUnsignedByte())); @@ -432,7 +421,7 @@ public class EelinkProtocolDecoder extends BaseProtocolDecoder { ByteBuf content = Unpooled.buffer(); if (type == MSG_LOGIN) { content.writeInt((int) (System.currentTimeMillis() / 1000)); - content.writeByte(1); // protocol version + content.writeShort(1); // protocol version content.writeByte(0); // action mask } ByteBuf response = EelinkProtocolEncoder.encodeContent( -- cgit v1.2.3