Browse Source

eDRX cycle parameters on device level

pull/4895/head
Andrii Shvaika 5 years ago
parent
commit
45c5703f2f
  1. 4
      common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClient.java
  2. 12
      common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientContextImpl.java
  3. 2
      ui-ngx/src/assets/locale/locale.constant-en_US.json

4
common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClient.java

@ -136,7 +136,9 @@ public class LwM2mClient implements Serializable {
builder.setDeviceName(device.getName());
deviceProfileOpt.ifPresent(deviceProfile -> updateSession(deviceProfile, builder));
this.session = builder.build();
this.powerMode = ((Lwm2mDeviceTransportConfiguration) device.getDeviceData().getTransportConfiguration()).getPowerMode();
Lwm2mDeviceTransportConfiguration transportConfiguration = (Lwm2mDeviceTransportConfiguration) device.getDeviceData().getTransportConfiguration();
this.powerMode = transportConfiguration.getPowerMode();
this.edrxCycle = transportConfiguration.getEdrxCycle();
}
public void onDeviceProfileUpdate(DeviceProfile deviceProfile) {

12
common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientContextImpl.java

@ -349,11 +349,15 @@ public class LwM2mClientContextImpl implements LwM2mClientContext {
@Override
public Long getRequestTimeout(LwM2mClient client) {
var clientProfile = getProfile(client.getProfileId());
OtherConfiguration clientLwM2mSettings = clientProfile.getClientLwM2mSettings();
Long timeout = null;
if (PowerMode.E_DRX.equals(clientLwM2mSettings.getPowerMode())) {
timeout = clientLwM2mSettings.getEdrxCycle();
if (PowerMode.E_DRX.equals(client.getPowerMode()) && client.getEdrxCycle() != null) {
timeout = client.getEdrxCycle();
} else {
var clientProfile = getProfile(client.getProfileId());
OtherConfiguration clientLwM2mSettings = clientProfile.getClientLwM2mSettings();
if (PowerMode.E_DRX.equals(clientLwM2mSettings.getPowerMode())) {
timeout = clientLwM2mSettings.getEdrxCycle();
}
}
if (timeout == null || timeout == 0L) {
timeout = this.config.getTimeout();

2
ui-ngx/src/assets/locale/locale.constant-en_US.json

@ -1222,7 +1222,7 @@
"drx": "Discontinuous Reception (DRX)",
"edrx": "Extended Discontinuous Reception (eDRX)"
},
"edrx-cycle": "eDRX cycle",
"edrx-cycle": "eDRX cycle in milliseconds",
"edrx-cycle-required": "eDRX cycle is required.",
"edrx-cycle-pattern": "eDRX cycle must be a positive integer.",
"lwm2m": {

Loading…
Cancel
Save