From 69b21e59dda3677a641adf8edeb78e31f76d8267 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Mon, 18 Jul 2016 17:45:40 +0500 Subject: Use password for command from device attributes --- src/org/traccar/protocol/TotemProtocolEncoder.java | 11 ++++++++++- src/org/traccar/protocol/WondexProtocolEncoder.java | 13 +++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/org/traccar/protocol/TotemProtocolEncoder.java b/src/org/traccar/protocol/TotemProtocolEncoder.java index 51d6fec1e..50e15075e 100644 --- a/src/org/traccar/protocol/TotemProtocolEncoder.java +++ b/src/org/traccar/protocol/TotemProtocolEncoder.java @@ -16,17 +16,26 @@ */ package org.traccar.protocol; +import org.traccar.Context; import org.traccar.StringProtocolEncoder; import org.traccar.helper.Log; import org.traccar.model.Command; +import org.traccar.model.Device; public class TotemProtocolEncoder extends StringProtocolEncoder { @Override protected Object encodeCommand(Command command) { - // Temporary put default password command.set(Command.KEY_DEVICE_PASSWORD, "000000"); + if (Context.getDeviceManager() != null) { + Device device = Context.getDeviceManager().getDeviceById(command.getDeviceId()); + if (device != null) { + if (device.getAttributes().containsKey(Command.KEY_DEVICE_PASSWORD)) { + command.set(Command.KEY_DEVICE_PASSWORD, device.getAttributes().get(Command.KEY_DEVICE_PASSWORD).toString()); + } + } + } switch (command.getType()) { //Assuming PIN 8 (Output C) is the power wire, like manual says but it can be PIN 5,7,8 diff --git a/src/org/traccar/protocol/WondexProtocolEncoder.java b/src/org/traccar/protocol/WondexProtocolEncoder.java index 9d000d9ea..20341ae8d 100644 --- a/src/org/traccar/protocol/WondexProtocolEncoder.java +++ b/src/org/traccar/protocol/WondexProtocolEncoder.java @@ -1,15 +1,24 @@ package org.traccar.protocol; +import org.traccar.Context; import org.traccar.StringProtocolEncoder; import org.traccar.helper.Log; -import org.traccar.model.Command;; +import org.traccar.model.Command; +import org.traccar.model.Device; public class WondexProtocolEncoder extends StringProtocolEncoder { @Override protected Object encodeCommand(Command command) { - // Temporary put default password command.set(Command.KEY_DEVICE_PASSWORD, "0000"); + if (Context.getDeviceManager() != null) { + Device device = Context.getDeviceManager().getDeviceById(command.getDeviceId()); + if (device != null) { + if (device.getAttributes().containsKey(Command.KEY_DEVICE_PASSWORD)) { + command.set(Command.KEY_DEVICE_PASSWORD, device.getAttributes().get(Command.KEY_DEVICE_PASSWORD).toString()); + } + } + } switch (command.getType()) { case Command.TYPE_REBOOT_DEVICE: -- cgit v1.2.3