diff options
Diffstat (limited to 'src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java')
-rw-r--r-- | src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java b/src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java index 89ae48b3a..6ba183f9b 100644 --- a/src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java @@ -235,6 +235,9 @@ public class TeltonikaProtocolDecoder extends BaseProtocolDecoder { case 67: position.set(Position.KEY_BATTERY, readValue(buf, length, false) * 0.001); break; + case 69: + position.set("gpsStatus", readValue(buf, length, false)); + break; case 72: case 73: case 74: @@ -255,6 +258,16 @@ public class TeltonikaProtocolDecoder extends BaseProtocolDecoder { case 115: position.set(Position.KEY_COOLANT_TEMP, readValue(buf, length, true) * 0.1); break; + case 129: + case 130: + case 131: + case 132: + case 133: + case 134: + String driver = id == 129 || id == 132 ? "" : position.getString("driver1"); + position.set("driver" + (id >= 132 ? 2 : 1), + driver + buf.readSlice(length).toString(StandardCharsets.US_ASCII).trim()); + break; case 179: position.set(Position.PREFIX_OUT + 1, readValue(buf, length, false) == 1); break; @@ -299,6 +312,11 @@ public class TeltonikaProtocolDecoder extends BaseProtocolDecoder { break; } break; + case 389: + if (BitUtil.between(readValue(buf, length, false), 4, 8) == 1) { + position.set(Position.KEY_ALARM, Position.ALARM_SOS); + } + break; default: position.set(Position.PREFIX_IO + id, readValue(buf, length, false)); break; |