aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/WristbandProtocolDecoder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/protocol/WristbandProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/WristbandProtocolDecoder.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/org/traccar/protocol/WristbandProtocolDecoder.java b/src/org/traccar/protocol/WristbandProtocolDecoder.java
index a19dcad31..3b1c6c2d4 100644
--- a/src/org/traccar/protocol/WristbandProtocolDecoder.java
+++ b/src/org/traccar/protocol/WristbandProtocolDecoder.java
@@ -16,6 +16,7 @@
package org.traccar.protocol;
import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
import io.netty.channel.Channel;
import org.traccar.BaseProtocolDecoder;
import org.traccar.DeviceSession;
@@ -46,7 +47,16 @@ public class WristbandProtocolDecoder extends BaseProtocolDecoder {
if (channel != null) {
String sentence = String.format("YX%s|%s|0|{F%d#%s}\r\n", imei, version, type, data);
- channel.writeAndFlush(new NetworkMessage(sentence, channel.remoteAddress()));
+ ByteBuf response = Unpooled.buffer();
+ if (type != 91) {
+ response.writeBytes(new byte[]{0x00, 0x01, 0x02});
+ response.writeShort(sentence.length());
+ }
+ response.writeCharSequence(sentence, StandardCharsets.US_ASCII);
+ if (type != 91) {
+ response.writeBytes(new byte[]{(byte) 0xFF, (byte) 0xFE, (byte) 0xFC});
+ }
+ channel.writeAndFlush(new NetworkMessage(response, channel.remoteAddress()));
}
}