observations, boolean expired,
Registration newReg) {
- service.unReg(lhServer, registration, observations);
+ service.unReg(registration, observations);
}
};
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportContextServer.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportContextServer.java
index 062c0f1148..2fffd17a4c 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportContextServer.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportContextServer.java
@@ -16,13 +16,13 @@
package org.thingsboard.server.transport.lwm2m.server;
/**
* Copyright © 2016-2020 The Thingsboard Authors
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -34,16 +34,27 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
+import org.eclipse.leshan.core.model.DDFFileParser;
+import org.eclipse.leshan.core.model.DefaultDDFFileValidator;
+import org.eclipse.leshan.core.model.InvalidDDFFileException;
+import org.eclipse.leshan.core.model.ObjectModel;
import org.springframework.stereotype.Component;
import org.thingsboard.server.common.transport.TransportContext;
+import org.thingsboard.server.common.transport.TransportResourceCache;
import org.thingsboard.server.common.transport.TransportService;
import org.thingsboard.server.common.transport.TransportServiceCallback;
import org.thingsboard.server.common.transport.adaptor.AdaptorException;
import org.thingsboard.server.common.transport.lwm2m.LwM2MTransportConfigServer;
-import org.thingsboard.server.gen.transport.TransportProtos;
+import org.thingsboard.server.gen.transport.TransportProtos.PostAttributeMsg;
+import org.thingsboard.server.gen.transport.TransportProtos.PostTelemetryMsg;
+import org.thingsboard.server.gen.transport.TransportProtos.SessionInfoProto;
+import org.thingsboard.server.gen.transport.TransportProtos.ValidateDeviceCredentialsResponseMsg;
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
import org.thingsboard.server.transport.lwm2m.server.adaptors.LwM2MJsonAdaptor;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+
import static org.thingsboard.server.transport.lwm2m.server.LwM2mTransportHandler.LOG_LW2M_TELEMETRY;
@Slf4j
@@ -56,12 +67,16 @@ public class LwM2mTransportContextServer extends TransportContext {
private final TransportService transportService;
+ private final TransportResourceCache transportResourceCache;
+
+
@Getter
private final LwM2MJsonAdaptor adaptor;
- public LwM2mTransportContextServer(LwM2MTransportConfigServer lwM2MTransportConfigServer, TransportService transportService, LwM2MJsonAdaptor adaptor) {
+ public LwM2mTransportContextServer(LwM2MTransportConfigServer lwM2MTransportConfigServer, TransportService transportService, TransportResourceCache transportResourceCache, LwM2MJsonAdaptor adaptor) {
this.lwM2MTransportConfigServer = lwM2MTransportConfigServer;
this.transportService = transportService;
+ this.transportResourceCache = transportResourceCache;
this.adaptor = adaptor;
}
@@ -69,6 +84,10 @@ public class LwM2mTransportContextServer extends TransportContext {
return this.lwM2MTransportConfigServer;
}
+ public TransportResourceCache getTransportResourceCache() {
+ return this.transportResourceCache;
+ }
+
/**
* Sent to Thingsboard Attribute || Telemetry
*
@@ -89,14 +108,14 @@ public class LwM2mTransportContextServer extends TransportContext {
};
}
- public void sentParametersOnThingsboard(JsonElement msg, String topicName, TransportProtos.SessionInfoProto sessionInfo) {
+ public void sentParametersOnThingsboard(JsonElement msg, String topicName, SessionInfoProto sessionInfo) {
try {
if (topicName.equals(LwM2mTransportHandler.DEVICE_ATTRIBUTES_TOPIC)) {
- TransportProtos.PostAttributeMsg postAttributeMsg = adaptor.convertToPostAttributes(msg);
+ PostAttributeMsg postAttributeMsg = adaptor.convertToPostAttributes(msg);
TransportServiceCallback call = this.getPubAckCallbackSentAttrTelemetry(postAttributeMsg);
transportService.process(sessionInfo, postAttributeMsg, this.getPubAckCallbackSentAttrTelemetry(call));
} else if (topicName.equals(LwM2mTransportHandler.DEVICE_TELEMETRY_TOPIC)) {
- TransportProtos.PostTelemetryMsg postTelemetryMsg = adaptor.convertToPostTelemetry(msg);
+ PostTelemetryMsg postTelemetryMsg = adaptor.convertToPostTelemetry(msg);
TransportServiceCallback call = this.getPubAckCallbackSentAttrTelemetry(postTelemetryMsg);
transportService.process(sessionInfo, postTelemetryMsg, this.getPubAckCallbackSentAttrTelemetry(call));
}
@@ -115,8 +134,8 @@ public class LwM2mTransportContextServer extends TransportContext {
/**
* @return - sessionInfo after access connect client
*/
- public TransportProtos.SessionInfoProto getValidateSessionInfo(TransportProtos.ValidateDeviceCredentialsResponseMsg msg, long mostSignificantBits, long leastSignificantBits) {
- return TransportProtos.SessionInfoProto.newBuilder()
+ public SessionInfoProto getValidateSessionInfo(ValidateDeviceCredentialsResponseMsg msg, long mostSignificantBits, long leastSignificantBits) {
+ return SessionInfoProto.newBuilder()
.setNodeId(this.getNodeId())
.setSessionIdMSB(mostSignificantBits)
.setSessionIdLSB(leastSignificantBits)
@@ -131,4 +150,13 @@ public class LwM2mTransportContextServer extends TransportContext {
.build();
}
+ public ObjectModel parseFromXmlToObjectModel(byte[] xmlByte, String streamName, DefaultDDFFileValidator ddfValidator) {
+ try {
+ DDFFileParser ddfFileParser = new DDFFileParser(ddfValidator);
+ return ddfFileParser.parseEx(new ByteArrayInputStream(xmlByte), streamName).get(0);
+ } catch (IOException | InvalidDDFFileException e) {
+ log.error("Could not parse the XML file [{}]", streamName, e);
+ return null;
+ }
+ }
}
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportHandler.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportHandler.java
index 8d660b3c22..5b6ec23a6e 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportHandler.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportHandler.java
@@ -35,9 +35,10 @@ import org.eclipse.leshan.server.californium.LeshanServerBuilder;
import org.nustaq.serialization.FSTConfiguration;
import org.thingsboard.server.common.data.DeviceProfile;
import org.thingsboard.server.common.data.device.profile.Lwm2mDeviceProfileTransportConfiguration;
+import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.transport.TransportServiceCallback;
-import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientProfile;
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClient;
+import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientProfile;
import java.io.File;
import java.io.IOException;
@@ -188,8 +189,9 @@ public class LwM2mTransportHandler {
return null;
}
- public static LwM2mClientProfile getNewProfileParameters(JsonObject profilesConfigData) {
+ public static LwM2mClientProfile getNewProfileParameters(JsonObject profilesConfigData, TenantId tenantId) {
LwM2mClientProfile lwM2MClientProfile = new LwM2mClientProfile();
+ lwM2MClientProfile.setTenantId(tenantId);
lwM2MClientProfile.setPostClientLwM2mSettings(profilesConfigData.get(CLIENT_LWM2M_SETTINGS).getAsJsonObject());
lwM2MClientProfile.setPostKeyNameProfile(profilesConfigData.get(OBSERVE_ATTRIBUTE_TELEMETRY).getAsJsonObject().get(KEY_NAME).getAsJsonObject());
lwM2MClientProfile.setPostAttributeProfile(profilesConfigData.get(OBSERVE_ATTRIBUTE_TELEMETRY).getAsJsonObject().get(ATTRIBUTE).getAsJsonArray());
@@ -221,7 +223,7 @@ public class LwM2mTransportHandler {
ObjectMapper mapper = new ObjectMapper();
String profileStr = mapper.writeValueAsString(profile);
JsonObject profileJson = (profileStr != null) ? validateJson(profileStr) : null;
- return (getValidateCredentialsBodyFromThingsboard(profileJson)) ? LwM2mTransportHandler.getNewProfileParameters(profileJson) : null;
+ return (getValidateCredentialsBodyFromThingsboard(profileJson)) ? LwM2mTransportHandler.getNewProfileParameters(profileJson, deviceProfile.getTenantId()) : null;
} catch (IOException e) {
log.error("", e);
}
@@ -244,11 +246,6 @@ public class LwM2mTransportHandler {
return null;
}
- public static boolean getClientUpdateValueAfterConnect (LwM2mClientProfile profile) {
- return profile.getPostClientLwM2mSettings().getAsJsonObject().has("clientUpdateValueAfterConnect") &&
- profile.getPostClientLwM2mSettings().getAsJsonObject().get("clientUpdateValueAfterConnect").getAsBoolean();
- }
-
public static boolean getClientOnlyObserveAfterConnect (LwM2mClientProfile profile) {
return profile.getPostClientLwM2mSettings().getAsJsonObject().has("clientOnlyObserveAfterConnect") &&
profile.getPostClientLwM2mSettings().getAsJsonObject().get("clientOnlyObserveAfterConnect").getAsBoolean();
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportRequest.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportRequest.java
index c58d2c35e0..fa7f0d68b8 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportRequest.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportRequest.java
@@ -47,7 +47,6 @@ import org.eclipse.leshan.core.util.Hex;
import org.eclipse.leshan.core.util.NamedThreadFactory;
import org.eclipse.leshan.server.californium.LeshanServer;
import org.eclipse.leshan.server.registration.Registration;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClient;
@@ -55,10 +54,7 @@ import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
import org.thingsboard.server.transport.lwm2m.utils.LwM2mValueConverterImpl;
import javax.annotation.PostConstruct;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.Date;
-import java.util.Iterator;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -78,21 +74,27 @@ import static org.thingsboard.server.transport.lwm2m.server.LwM2mTransportHandle
import static org.thingsboard.server.transport.lwm2m.server.LwM2mTransportHandler.RESPONSE_CHANNEL;
@Slf4j
-@Service("LwM2mTransportRequest")
+@Service
@TbLwM2mTransportComponent
public class LwM2mTransportRequest {
private ExecutorService executorResponse;
private LwM2mValueConverterImpl converter;
- @Autowired
- private LwM2mTransportServiceImpl service;
+ private final LwM2mTransportContextServer context;
- @Autowired
- private LwM2mTransportContextServer context;
+ private final LwM2mClientContext lwM2mClientContext;
- @Autowired
- private LwM2mClientContext lwM2mClientContext;
+ private final LeshanServer leshanServer;
+
+ private final LwM2mTransportServiceImpl serviceImpl;
+
+ public LwM2mTransportRequest(LwM2mTransportContextServer context, LwM2mClientContext lwM2mClientContext, LeshanServer leshanServer, LwM2mTransportServiceImpl serviceImpl) {
+ this.context = context;
+ this.lwM2mClientContext = lwM2mClientContext;
+ this.leshanServer = leshanServer;
+ this.serviceImpl = serviceImpl;
+ }
@PostConstruct
public void init() {
@@ -101,32 +103,22 @@ public class LwM2mTransportRequest {
new NamedThreadFactory(String.format("LwM2M %s channel response", RESPONSE_CHANNEL)));
}
- public Collection doGetRegistrations(LeshanServer lwServer) {
- Collection registrations = new ArrayList<>();
- for (Iterator iterator = lwServer.getRegistrationService().getAllRegistrations(); iterator
- .hasNext(); ) {
- registrations.add(iterator.next());
- }
- return registrations;
- }
-
/**
* Device management and service enablement, including Read, Write, Execute, Discover, Create, Delete and Write-Attributes
*
- * @param lwServer -
* @param registration -
* @param target -
* @param typeOper -
* @param contentFormatParam -
* @param observation -
*/
- public void sendAllRequest(LeshanServer lwServer, Registration registration, String target, String typeOper,
+ public void sendAllRequest(Registration registration, String target, String typeOper,
String contentFormatParam, Observation observation, Object params, long timeoutInMs) {
LwM2mPath resultIds = new LwM2mPath(target);
if (registration != null && resultIds.getObjectId() >= 0) {
DownlinkRequest request = null;
ContentFormat contentFormat = contentFormatParam != null ? ContentFormat.fromName(contentFormatParam.toUpperCase()) : null;
- ResourceModel resource = service.context.getLwM2MTransportConfigServer().getResourceModel(registration, resultIds);
+ ResourceModel resource = serviceImpl.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getResourceModel(registration, resultIds);
timeoutInMs = timeoutInMs > 0 ? timeoutInMs : DEFAULT_TIMEOUT;
switch (typeOper) {
case GET_TYPE_OPER_READ:
@@ -156,7 +148,7 @@ public class LwM2mTransportRequest {
break;
case POST_TYPE_OPER_WRITE_REPLACE:
// Request to write a String Single-Instance Resource using the TLV content format.
- if (resource != null) {
+ if (resource != null && contentFormat != null) {
if (contentFormat.equals(ContentFormat.TLV) && !resource.multiple) {
request = this.getWriteRequestSingleResource(null, resultIds.getObjectId(), resultIds.getObjectInstanceId(), resultIds.getResourceId(), params, resource.type, registration);
}
@@ -168,8 +160,8 @@ public class LwM2mTransportRequest {
break;
case PUT_TYPE_OPER_WRITE_UPDATE:
if (resultIds.getResourceId() >= 0) {
- ResourceModel resourceModel = lwServer.getModelProvider().getObjectModel(registration).getObjectModel(resultIds.getObjectId()).resources.get(resultIds.getResourceId());
- ResourceModel.Type typeRes = resourceModel.type;
+// ResourceModel resourceModel = leshanServer.getModelProvider().getObjectModel(registration).getObjectModel(resultIds.getObjectId()).resources.get(resultIds.getResourceId());
+// ResourceModel.Type typeRes = resourceModel.type;
LwM2mNode node = LwM2mSingleResource.newStringResource(resultIds.getResourceId(), (String) this.converter.convertValue(params, resource.type, ResourceModel.Type.STRING, resultIds));
request = new WriteRequest(WriteRequest.Mode.UPDATE, contentFormat, target, node);
}
@@ -206,7 +198,7 @@ public class LwM2mTransportRequest {
* Attribute pmax = new Attribute(MAXIMUM_PERIOD, "60");
* Attribute [] attrs = {gt, st};
*/
- Attribute pmin = new Attribute(MINIMUM_PERIOD, Integer.toUnsignedLong(Integer.valueOf("1")));
+ Attribute pmin = new Attribute(MINIMUM_PERIOD, Integer.toUnsignedLong(Integer.parseInt("1")));
Attribute[] attrs = {pmin};
AttributeSet attrSet = new AttributeSet(attrs);
if (resultIds.isResource()) {
@@ -221,25 +213,25 @@ public class LwM2mTransportRequest {
}
if (request != null) {
- this.sendRequest(lwServer, registration, request, timeoutInMs);
+ this.sendRequest(registration, request, timeoutInMs);
}
}
}
/**
*
- * @param lwServer -
* @param registration -
* @param request -
* @param timeoutInMs -
*/
@SuppressWarnings("unchecked")
- private void sendRequest(LeshanServer lwServer, Registration registration, DownlinkRequest request, long timeoutInMs) {
+ private void sendRequest(Registration registration, DownlinkRequest request, long timeoutInMs) {
LwM2mClient lwM2MClient = lwM2mClientContext.getLwM2mClientWithReg(registration, null);
- lwServer.send(registration, request, timeoutInMs, (ResponseCallback>) response -> {
+ leshanServer.send(registration, request, timeoutInMs, (ResponseCallback>) response -> {
+
if (!lwM2MClient.isInit()) {
- lwM2MClient.initValue(this.service, request.getPath().toString());
+ lwM2MClient.initValue(this.serviceImpl, request.getPath().toString());
}
if (isSuccess(((Response) response.getCoapResponse()).getCode())) {
this.handleResponse(registration, request.getPath().toString(), response, request);
@@ -247,23 +239,23 @@ public class LwM2mTransportRequest {
String msg = String.format("%s: sendRequest Replace: CoapCde - %s Lwm2m code - %d name - %s Resource path - %s value - %s SendRequest to Client",
LOG_LW2M_INFO, ((Response) response.getCoapResponse()).getCode(), response.getCode().getCode(), response.getCode().getName(), request.getPath().toString(),
((LwM2mSingleResource) ((WriteRequest) request).getNode()).getValue().toString());
- service.sentLogsToThingsboard(msg, registration);
+ serviceImpl.sentLogsToThingsboard(msg, registration);
log.info("[{}] [{}] - [{}] [{}] Update SendRequest[{}]", registration.getEndpoint(), ((Response) response.getCoapResponse()).getCode(), response.getCode(), request.getPath().toString(),
((LwM2mSingleResource) ((WriteRequest) request).getNode()).getValue());
}
} else {
String msg = String.format("%s: sendRequest: CoapCode - %s Lwm2m code - %d name - %s Resource path - %s SendRequest to Client", LOG_LW2M_ERROR,
((Response) response.getCoapResponse()).getCode(), response.getCode().getCode(), response.getCode().getName(), request.getPath().toString());
- service.sentLogsToThingsboard(msg, registration);
- log.error("[{}] - [{}] [{}] error SendRequest", ((Response) response.getCoapResponse()).getCode(), response.getCode(), request.getPath().toString());
+ serviceImpl.sentLogsToThingsboard(msg, registration);
+ log.error("[{}], [{}] - [{}] [{}] error SendRequest", registration.getEndpoint(), ((Response) response.getCoapResponse()).getCode(), response.getCode(), request.getPath().toString());
}
}, e -> {
if (!lwM2MClient.isInit()) {
- lwM2MClient.initValue(this.service, request.getPath().toString());
+ lwM2MClient.initValue(this.serviceImpl, request.getPath().toString());
}
String msg = String.format("%s: sendRequest: Resource path - %s msg error - %s SendRequest to Client",
LOG_LW2M_ERROR, request.getPath().toString(), e.toString());
- service.sentLogsToThingsboard(msg, registration);
+ serviceImpl.sentLogsToThingsboard(msg, registration);
log.error("[{}] - [{}] error SendRequest", request.getPath().toString(), e.toString());
});
@@ -275,15 +267,17 @@ public class LwM2mTransportRequest {
case STRING: // String
return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, value.toString()) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, value.toString());
case INTEGER: // Long
- return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, Integer.toUnsignedLong(Integer.valueOf(value.toString()))) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, Integer.toUnsignedLong(Integer.valueOf(value.toString())));
+ final long valueInt = Integer.toUnsignedLong(Integer.parseInt(value.toString()));
+ return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, valueInt) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, valueInt);
case OBJLNK: // ObjectLink
return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, ObjectLink.fromPath(value.toString())) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, ObjectLink.fromPath(value.toString()));
case BOOLEAN: // Boolean
- return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, Boolean.valueOf(value.toString())) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, Boolean.valueOf(value.toString()));
+ return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, Boolean.parseBoolean(value.toString())) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, Boolean.parseBoolean(value.toString()));
case FLOAT: // Double
- return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, Double.valueOf(value.toString())) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, Double.valueOf(value.toString()));
+ return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, Double.parseDouble(value.toString())) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, Double.parseDouble(value.toString()));
case TIME: // Date
- return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, new Date(Long.decode(value.toString()))) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, new Date((Long) Integer.toUnsignedLong(Integer.valueOf(value.toString()))));
+ Date date = new Date(Long.decode(value.toString()));
+ return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, date) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, date);
case OPAQUE: // byte[] value, base64
return (contentFormat == null) ? new WriteRequest(objectId, instanceId, resourceId, Hex.decodeHex(value.toString().toCharArray())) : new WriteRequest(contentFormat, objectId, instanceId, resourceId, Hex.decodeHex(value.toString().toCharArray()));
default:
@@ -293,7 +287,7 @@ public class LwM2mTransportRequest {
String patn = "/" + objectId + "/" + instanceId + "/" + resourceId;
String msg = String.format(LOG_LW2M_ERROR + ": NumberFormatException: Resource path - %s type - %s value - %s msg error - %s SendRequest to Client",
patn, type, value, e.toString());
- service.sentLogsToThingsboard(msg, registration);
+ serviceImpl.sentLogsToThingsboard(msg, registration);
log.error("Path: [{}] type: [{}] value: [{}] errorMsg: [{}]]", patn, type, value, e.toString());
return null;
}
@@ -317,7 +311,7 @@ public class LwM2mTransportRequest {
*/
private void sendResponse(Registration registration, String path, LwM2mResponse response, DownlinkRequest request) {
if (response instanceof ReadResponse) {
- service.onObservationResponse(registration, path, (ReadResponse) response);
+ serviceImpl.onObservationResponse(registration, path, (ReadResponse) response);
} else if (response instanceof CancelObservationResponse) {
log.info("[{}] Path [{}] CancelObservationResponse 3_Send", path, response);
} else if (response instanceof DeleteResponse) {
@@ -330,7 +324,7 @@ public class LwM2mTransportRequest {
log.info("[{}] Path [{}] WriteAttributesResponse 8_Send", path, response);
} else if (response instanceof WriteResponse) {
log.info("[{}] Path [{}] WriteAttributesResponse 9_Send", path, response);
- service.onWriteResponseOk(registration, path, (WriteRequest) request);
+ serviceImpl.onWriteResponseOk(registration, path, (WriteRequest) request);
}
}
}
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerConfiguration.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerConfiguration.java
index ace2fb4896..0af20b3e51 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerConfiguration.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerConfiguration.java
@@ -24,14 +24,13 @@ import org.eclipse.leshan.server.californium.LeshanServer;
import org.eclipse.leshan.server.californium.LeshanServerBuilder;
import org.eclipse.leshan.server.californium.registration.CaliforniumRegistrationStore;
import org.eclipse.leshan.server.model.LwM2mModelProvider;
-import org.eclipse.leshan.server.model.VersionedModelProvider;
import org.eclipse.leshan.server.security.DefaultAuthorizer;
import org.eclipse.leshan.server.security.EditableSecurityStore;
import org.eclipse.leshan.server.security.SecurityChecker;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
+import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
import org.thingsboard.server.transport.lwm2m.utils.LwM2mValueConverterImpl;
import java.math.BigInteger;
@@ -61,21 +60,23 @@ import static org.eclipse.californium.scandium.dtls.cipher.CipherSuite.TLS_PSK_W
import static org.thingsboard.server.transport.lwm2m.server.LwM2mTransportHandler.getCoapConfig;
@Slf4j
-@Component("LwM2MTransportServerConfiguration")
+@Component
@TbLwM2mTransportComponent
public class LwM2mTransportServerConfiguration {
private PublicKey publicKey;
private PrivateKey privateKey;
private boolean pskMode = false;
+ private final LwM2mTransportContextServer context;
+ private final CaliforniumRegistrationStore registrationStore;
+ private final EditableSecurityStore securityStore;
+ private final LwM2mClientContext lwM2mClientContext;
- @Autowired
- private LwM2mTransportContextServer context;
-
- @Autowired
- private CaliforniumRegistrationStore registrationStore;
-
- @Autowired
- private EditableSecurityStore securityStore;
+ public LwM2mTransportServerConfiguration(LwM2mTransportContextServer context, CaliforniumRegistrationStore registrationStore, EditableSecurityStore securityStore, LwM2mClientContext lwM2mClientContext) {
+ this.context = context;
+ this.registrationStore = registrationStore;
+ this.securityStore = securityStore;
+ this.lwM2mClientContext = lwM2mClientContext;
+ }
@Bean
public LeshanServer getLeshanServer() {
@@ -95,7 +96,8 @@ public class LwM2mTransportServerConfiguration {
builder.setCoapConfig(getCoapConfig(serverPortNoSec, serverSecurePort));
/** Define model provider (Create Models )*/
- LwM2mModelProvider modelProvider = new VersionedModelProvider(this.context.getLwM2MTransportConfigServer().getModelsValue());
+ LwM2mModelProvider modelProvider = new LwM2mVersionedModelProvider(this.lwM2mClientContext, this.context);
+ this.context.getLwM2MTransportConfigServer().setModelProvider(modelProvider);
builder.setObjectModelProvider(modelProvider);
/** Create credentials */
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerInitializer.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerInitializer.java
index 9c8d62f1e0..4fad90910a 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerInitializer.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServerInitializer.java
@@ -33,7 +33,7 @@ public class LwM2mTransportServerInitializer {
@Autowired
private LwM2mTransportServiceImpl service;
- @Autowired(required = false)
+ @Autowired
private LeshanServer leshanServer;
@Autowired
@@ -49,7 +49,7 @@ public class LwM2mTransportServerInitializer {
private void startLhServer() {
this.leshanServer.start();
- LwM2mServerListener lhServerCertListener = new LwM2mServerListener(this.leshanServer, service);
+ LwM2mServerListener lhServerCertListener = new LwM2mServerListener(service);
this.leshanServer.getRegistrationService().addListener(lhServerCertListener.registrationListener);
this.leshanServer.getPresenceService().addListener(lhServerCertListener.presenceListener);
this.leshanServer.getObservationService().addListener(lhServerCertListener.observationListener);
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportService.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportService.java
index 46c9cf5e64..8d1aff37b5 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportService.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportService.java
@@ -17,7 +17,6 @@ package org.thingsboard.server.transport.lwm2m.server;
import org.eclipse.leshan.core.observation.Observation;
import org.eclipse.leshan.core.response.ReadResponse;
-import org.eclipse.leshan.server.californium.LeshanServer;
import org.eclipse.leshan.server.registration.Registration;
import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.DeviceProfile;
@@ -28,17 +27,17 @@ import java.util.Optional;
public interface LwM2mTransportService {
- void onRegistered(LeshanServer lwServer, Registration registration, Collection previousObsersations);
+ void onRegistered(Registration registration, Collection previousObsersations);
- void updatedReg(LeshanServer lwServer, Registration registration);
+ void updatedReg(Registration registration);
- void unReg(LeshanServer lwServer, Registration registration, Collection observations);
+ void unReg(Registration registration, Collection observations);
void onSleepingDev(Registration registration);
- void setCancelObservations(LeshanServer lwServer, Registration registration);
+ void setCancelObservations(Registration registration);
- void setCancelObservationRecourse(LeshanServer lwServer, Registration registration, String path);
+ void setCancelObservationRecourse(Registration registration, String path);
void onObservationResponse(Registration registration, String path, ReadResponse response);
@@ -48,7 +47,7 @@ public interface LwM2mTransportService {
void onDeviceUpdate(TransportProtos.SessionInfoProto sessionInfo, Device device, Optional deviceProfileOpt);
- void doTrigger(LeshanServer lwServer, Registration registration, String path);
+ void doTrigger(Registration registration, String path);
void doDisconnect(TransportProtos.SessionInfoProto sessionInfo);
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServiceImpl.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServiceImpl.java
index 87a7fcbc07..1af4e8bfd8 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServiceImpl.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mTransportServiceImpl.java
@@ -16,7 +16,7 @@
package org.thingsboard.server.transport.lwm2m.server;
import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.collect.Sets;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@@ -35,8 +35,9 @@ import org.eclipse.leshan.core.response.ReadResponse;
import org.eclipse.leshan.core.util.NamedThreadFactory;
import org.eclipse.leshan.server.californium.LeshanServer;
import org.eclipse.leshan.server.registration.Registration;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
+import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.DeviceProfile;
import org.thingsboard.server.common.transport.TransportService;
@@ -56,7 +57,6 @@ import org.thingsboard.server.transport.lwm2m.server.client.ResultsAnalyzerParam
import org.thingsboard.server.transport.lwm2m.utils.LwM2mValueConverterImpl;
import javax.annotation.PostConstruct;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -105,29 +105,32 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
protected final ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
protected final Lock writeLock = readWriteLock.writeLock();
- @Autowired
- private TransportService transportService;
+ private final TransportService transportService;
- @Autowired
- public LwM2mTransportContextServer context;
+ public final LwM2mTransportContextServer lwM2mTransportContextServer;
- @Autowired
- private LwM2mTransportRequest lwM2mTransportRequest;
+ private final LwM2mClientContext lwM2mClientContext;
- @Autowired
- private LwM2mClientContext lwM2mClientContext;
+ private final LeshanServer leshanServer;
- @Autowired(required = false)
- private LeshanServer leshanServer;
+ private final LwM2mTransportRequest lwM2mTransportRequest;
+
+ public LwM2mTransportServiceImpl(TransportService transportService, LwM2mTransportContextServer lwM2mTransportContextServer, LwM2mClientContext lwM2mClientContext, LeshanServer leshanServer, @Lazy LwM2mTransportRequest lwM2mTransportRequest) {
+ this.transportService = transportService;
+ this.lwM2mTransportContextServer = lwM2mTransportContextServer;
+ this.lwM2mClientContext = lwM2mClientContext;
+ this.leshanServer = leshanServer;
+ this.lwM2mTransportRequest = lwM2mTransportRequest;
+ }
@PostConstruct
public void init() {
- this.context.getScheduler().scheduleAtFixedRate(this::checkInactivityAndReportActivity, new Random().nextInt((int) context.getLwM2MTransportConfigServer().getSessionReportTimeout()), context.getLwM2MTransportConfigServer().getSessionReportTimeout(), TimeUnit.MILLISECONDS);
- this.executorRegistered = Executors.newFixedThreadPool(this.context.getLwM2MTransportConfigServer().getRegisteredPoolSize(),
+ this.lwM2mTransportContextServer.getScheduler().scheduleAtFixedRate(this::checkInactivityAndReportActivity, new Random().nextInt((int) lwM2mTransportContextServer.getLwM2MTransportConfigServer().getSessionReportTimeout()), lwM2mTransportContextServer.getLwM2MTransportConfigServer().getSessionReportTimeout(), TimeUnit.MILLISECONDS);
+ this.executorRegistered = Executors.newFixedThreadPool(this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getRegisteredPoolSize(),
new NamedThreadFactory(String.format("LwM2M %s channel registered", SERVICE_CHANNEL)));
- this.executorUpdateRegistered = Executors.newFixedThreadPool(this.context.getLwM2MTransportConfigServer().getUpdateRegisteredPoolSize(),
+ this.executorUpdateRegistered = Executors.newFixedThreadPool(this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getUpdateRegisteredPoolSize(),
new NamedThreadFactory(String.format("LwM2M %s channel update registered", SERVICE_CHANNEL)));
- this.executorUnRegistered = Executors.newFixedThreadPool(this.context.getLwM2MTransportConfigServer().getUnRegisteredPoolSize(),
+ this.executorUnRegistered = Executors.newFixedThreadPool(this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getUnRegisteredPoolSize(),
new NamedThreadFactory(String.format("LwM2M %s channel un registered", SERVICE_CHANNEL)));
this.converter = LwM2mValueConverterImpl.getInstance();
}
@@ -143,17 +146,15 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* 1.2 Remove from sessions Model by enpPoint
* Next -> Create new LwM2MClient for current session -> setModelClient...
*
- * @param lwServer - LeshanServer
* @param registration - Registration LwM2M Client
* @param previousObsersations - may be null
*/
- public void onRegistered(LeshanServer lwServer, Registration registration, Collection previousObsersations) {
+ public void onRegistered(Registration registration, Collection previousObsersations) {
executorRegistered.submit(() -> {
try {
log.warn("[{}] [{{}] Client: create after Registration", registration.getEndpoint(), registration.getId());
LwM2mClient lwM2MClient = this.lwM2mClientContext.updateInSessionsLwM2MClient(registration);
if (lwM2MClient != null) {
- this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client Registered", registration);
SessionInfoProto sessionInfo = this.getValidateSessionInfo(registration);
if (sessionInfo != null) {
lwM2MClient.setDeviceId(new UUID(sessionInfo.getDeviceIdMSB(), sessionInfo.getDeviceIdLSB()));
@@ -163,9 +164,8 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
transportService.registerAsyncSession(sessionInfo, new LwM2mSessionMsgListener(this, sessionInfo));
transportService.process(sessionInfo, DefaultTransportService.getSessionEventMsg(SessionEvent.OPEN), null);
transportService.process(sessionInfo, TransportProtos.SubscribeToAttributeUpdatesMsg.newBuilder().build(), null);
- this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client create after Registration", registration);
- this.initLwM2mFromClientValue(lwServer, registration, lwM2MClient);
-
+ this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client create after Registration", registration);
+ this.initLwM2mFromClientValue(registration, lwM2MClient);
} else {
log.error("Client: [{}] onRegistered [{}] name [{}] sessionInfo ", registration.getId(), registration.getEndpoint(), null);
}
@@ -181,10 +181,9 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
/**
* if sessionInfo removed from sessions, then new registerAsyncSession
*
- * @param lwServer - LeshanServer
* @param registration - Registration LwM2M Client
*/
- public void updatedReg(LeshanServer lwServer, Registration registration) {
+ public void updatedReg(Registration registration) {
executorUpdateRegistered.submit(() -> {
try {
SessionInfoProto sessionInfo = this.getValidateSessionInfo(registration);
@@ -205,10 +204,10 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* @param observations - All paths observations before unReg
* !!! Warn: if have not finishing unReg, then this operation will be finished on next Client`s connect
*/
- public void unReg(LeshanServer lwServer, Registration registration, Collection observations) {
+ public void unReg(Registration registration, Collection observations) {
executorUnRegistered.submit(() -> {
try {
- this.setCancelObservations(lwServer, registration);
+ this.setCancelObservations(registration);
this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client unRegistration", registration);
this.closeClientSession(registration);
} catch (Throwable t) {
@@ -238,10 +237,10 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
}
@Override
- public void setCancelObservations(LeshanServer lwServer, Registration registration) {
+ public void setCancelObservations(Registration registration) {
if (registration != null) {
- Set observations = lwServer.getObservationService().getObservations(registration);
- observations.forEach(observation -> this.setCancelObservationRecourse(lwServer, registration, observation.getPath().toString()));
+ Set observations = leshanServer.getObservationService().getObservations(registration);
+ observations.forEach(observation -> this.setCancelObservationRecourse(registration, observation.getPath().toString()));
}
}
@@ -251,8 +250,8 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* {@code ObservationService#cancelObservation()}
*/
@Override
- public void setCancelObservationRecourse(LeshanServer lwServer, Registration registration, String path) {
- lwServer.getObservationService().cancelObservations(registration, path);
+ public void setCancelObservationRecourse(Registration registration, String path) {
+ leshanServer.getObservationService().cancelObservations(registration, path);
}
/**
@@ -294,12 +293,12 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
String path = this.getPathAttributeUpdate(sessionInfo, de.getKey());
String value = de.getValue().getAsString();
LwM2mClient lwM2MClient = lwM2mClientContext.getLwM2mClient(new UUID(sessionInfo.getSessionIdMSB(), sessionInfo.getSessionIdLSB()));
- LwM2mClientProfile profile = lwM2mClientContext.getProfile(new UUID(sessionInfo.getDeviceProfileIdMSB(), sessionInfo.getDeviceProfileIdLSB()));
- ResourceModel resourceModel = context.getLwM2MTransportConfigServer().getResourceModel(lwM2MClient.getRegistration(), new LwM2mPath(path));
- if (!path.isEmpty() && (this.validatePathInAttrProfile(profile, path) || this.validatePathInTelemetryProfile(profile, path))) {
+ LwM2mClientProfile clientProfile = lwM2mClientContext.getProfile(new UUID(sessionInfo.getDeviceProfileIdMSB(), sessionInfo.getDeviceProfileIdLSB()));
+ if (path != null && !path.isEmpty() && (this.validatePathInAttrProfile(clientProfile, path) || this.validatePathInTelemetryProfile(clientProfile, path))) {
+ ResourceModel resourceModel = lwM2mTransportContextServer.getLwM2MTransportConfigServer().getResourceModel(lwM2MClient.getRegistration(), new LwM2mPath(path));
if (resourceModel != null && resourceModel.operations.isWritable()) {
- lwM2mTransportRequest.sendAllRequest(leshanServer, lwM2MClient.getRegistration(), path, POST_TYPE_OPER_WRITE_REPLACE,
- ContentFormat.TLV.getName(), null, value, this.context.getLwM2MTransportConfigServer().getTimeout());
+ lwM2mTransportRequest.sendAllRequest(lwM2MClient.getRegistration(), path, POST_TYPE_OPER_WRITE_REPLACE,
+ ContentFormat.TLV.getName(), null, value, this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getTimeout());
} else {
log.error("Resource path - [{}] value - [{}] is not Writable and cannot be updated", path, value);
String logMsg = String.format("%s: attributeUpdate: Resource path - %s value - %s is not Writable and cannot be updated",
@@ -353,9 +352,9 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* Trigger bootStrap path = "/1/0/9" - have to implemented on client
*/
@Override
- public void doTrigger(LeshanServer lwServer, Registration registration, String path) {
- lwM2mTransportRequest.sendAllRequest(lwServer, registration, path, POST_TYPE_OPER_EXECUTE,
- ContentFormat.TLV.getName(), null, null, this.context.getLwM2MTransportConfigServer().getTimeout());
+ public void doTrigger(Registration registration, String path) {
+ lwM2mTransportRequest.sendAllRequest(registration, path, POST_TYPE_OPER_EXECUTE,
+ ContentFormat.TLV.getName(), null, null, this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getTimeout());
}
/**
@@ -438,47 +437,35 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
public void updateParametersOnThingsboard(JsonElement msg, String topicName, Registration registration) {
SessionInfoProto sessionInfo = this.getValidateSessionInfo(registration);
if (sessionInfo != null) {
- context.sentParametersOnThingsboard(msg, topicName, sessionInfo);
+ lwM2mTransportContextServer.sentParametersOnThingsboard(msg, topicName, sessionInfo);
} else {
log.error("Client: [{}] updateParametersOnThingsboard [{}] sessionInfo ", registration, null);
}
}
/**
- * #1 сlientOnlyObserveAfterConnect == true
+ * #1 clientOnlyObserveAfterConnect == true
* - Only Observe Request to the client marked as observe from the profile configuration.
- * #2. сlientOnlyObserveAfterConnect == false & clientUpdateValueAfterConnect == false
- * - Request to the client after registration to read the values of the resources marked as attribute or telemetry from the profile configuration.
- * - then Observe Request to the client marked as observe from the profile configuration.
- * #3. сlientOnlyObserveAfterConnect == false & clientUpdateValueAfterConnect == true
- * После регистрации отправляю запрос на read всех ресурсов, котрые послк регистрации, а затем запрос на observe (edited)
- * - Request to the client after registration to read all resource values for all objects
+ * #2. clientOnlyObserveAfterConnect == false
+ * После регистрации отправляю запрос на read всех ресурсов, которые после регистрации есть у клиента,
+ * а затем запрос на observe (edited)
+ * - Read Request to the client after registration to read all resource values for all objects
* - then Observe Request to the client marked as observe from the profile configuration.
*
- * @param lwServer - LeshanServer
* @param registration - Registration LwM2M Client
* @param lwM2MClient - object with All parameters off client
*/
- private void initLwM2mFromClientValue(LeshanServer lwServer, Registration registration, LwM2mClient lwM2MClient) {
+ private void initLwM2mFromClientValue(Registration registration, LwM2mClient lwM2MClient) {
LwM2mClientProfile lwM2MClientProfile = lwM2mClientContext.getProfile(registration);
Set clientObjects = this.getAllOjectsInClient(registration);
if (clientObjects != null && !LwM2mTransportHandler.getClientOnlyObserveAfterConnect(lwM2MClientProfile)) {
// #2
- if (!LwM2mTransportHandler.getClientUpdateValueAfterConnect(lwM2MClientProfile)) {
- this.initReadAttrTelemetryObserveToClient(lwServer, registration, lwM2MClient, GET_TYPE_OPER_READ);
-
- }
- // #3
- else {
- lwM2MClient.getPendingRequests().addAll(clientObjects);
- clientObjects.forEach(path -> {
- lwM2mTransportRequest.sendAllRequest(lwServer, registration, path, GET_TYPE_OPER_READ, ContentFormat.TLV.getName(),
- null, null, this.context.getLwM2MTransportConfigServer().getTimeout());
- });
- }
+ lwM2MClient.getPendingRequests().addAll(clientObjects);
+ clientObjects.forEach(path -> lwM2mTransportRequest.sendAllRequest(registration, path, GET_TYPE_OPER_READ, ContentFormat.TLV.getName(),
+ null, null, this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getTimeout()));
}
// #1
- this.initReadAttrTelemetryObserveToClient(lwServer, registration, lwM2MClient, GET_TYPE_OPER_OBSERVE);
+ this.initReadAttrTelemetryObserveToClient(registration, lwM2MClient, GET_TYPE_OPER_OBSERVE);
}
/**
@@ -513,8 +500,7 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* #2 Update new Resources (replace old Resource Value on new Resource Value)
*
* @param registration - Registration LwM2M Client
- * @param - LwM2mSingleResource response.getContent()
- * @param - LwM2mSingleResource response.getContent()
+ * @param lwM2mResource - LwM2mSingleResource response.getContent()
* @param path - resource
*/
private void updateResourcesValue(Registration registration, LwM2mResource lwM2mResource, String path) {
@@ -522,31 +508,21 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
lwM2MClient.updateResourceValue(path, lwM2mResource);
Set paths = new HashSet<>();
paths.add(path);
- this.updateAttrTelemetry(registration, false, paths);
+ this.updateAttrTelemetry(registration, paths);
}
/**
* Sent Attribute and Telemetry to Thingsboard
- * #1 - get AttrName/TelemetryName with value:
- * #1.1 from Client
- * #1.2 from LwM2MClient:
+ * #1 - get AttrName/TelemetryName with value from LwM2MClient:
* -- resourceId == path from LwM2MClientProfile.postAttributeProfile/postTelemetryProfile/postObserveProfile
* -- AttrName/TelemetryName == resourceName from ModelObject.objectModel, value from ModelObject.instance.resource(resourceId)
* #2 - set Attribute/Telemetry
*
* @param registration - Registration LwM2M Client
*/
- private void updateAttrTelemetry(Registration registration, boolean start, Set paths) {
+ private void updateAttrTelemetry(Registration registration, Set paths) {
JsonObject attributes = new JsonObject();
JsonObject telemetries = new JsonObject();
- if (start) {
- // #1.1
- JsonObject attributeClient = this.getAttributeClient(registration);
- if (attributeClient != null) {
- attributeClient.entrySet().forEach(p -> attributes.add(p.getKey(), p.getValue()));
- }
- }
- // #1.2
try {
writeLock.lock();
this.getParametersFromProfile(attributes, telemetries, registration, paths);
@@ -562,25 +538,35 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
}
/**
- * @param profile -
+ * @param clientProfile -
* @param path -
* @return true if path isPresent in postAttributeProfile
*/
- private boolean validatePathInAttrProfile(LwM2mClientProfile profile, String path) {
- Set attributesSet = new Gson().fromJson(profile.getPostAttributeProfile(), new TypeToken<>() {
- }.getType());
- return attributesSet.stream().filter(p -> p.equals(path)).findFirst().isPresent();
+ private boolean validatePathInAttrProfile(LwM2mClientProfile clientProfile, String path) {
+ try {
+ List attributesSet = new Gson().fromJson(clientProfile.getPostAttributeProfile(), new TypeToken<>() {
+ }.getType());
+ return attributesSet.stream().anyMatch(p -> p.equals(path));
+ } catch (Exception e) {
+ log.error("Fail Validate Path [{}] ClientProfile.Attribute", path, e);
+ return false;
+ }
}
/**
- * @param profile -
+ * @param clientProfile -
* @param path -
* @return true if path isPresent in postAttributeProfile
*/
- private boolean validatePathInTelemetryProfile(LwM2mClientProfile profile, String path) {
- Set telemetriesSet = new Gson().fromJson(profile.getPostTelemetryProfile(), new TypeToken<>() {
- }.getType());
- return telemetriesSet.stream().filter(p -> p.equals(path)).findFirst().isPresent();
+ private boolean validatePathInTelemetryProfile(LwM2mClientProfile clientProfile, String path) {
+ try {
+ List telemetriesSet = new Gson().fromJson(clientProfile.getPostTelemetryProfile(), new TypeToken<>() {
+ }.getType());
+ return telemetriesSet.stream().anyMatch(p -> p.equals(path));
+ } catch (Exception e) {
+ log.error("Fail Validate Path [{}] ClientProfile.Telemetry", path, e);
+ return false;
+ }
}
/**
@@ -588,43 +574,32 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* #1 - Analyze:
* #1.1 path in resource profile == client resource
*
- * @param lwServer -
* @param registration -
*/
- private void initReadAttrTelemetryObserveToClient(LeshanServer lwServer, Registration registration, LwM2mClient lwM2MClient, String typeOper) {
- try {
- LwM2mClientProfile lwM2MClientProfile = lwM2mClientContext.getProfile(registration);
- Set clientInstances = this.getAllInstancesInClient(registration);
- Set result;
- if (GET_TYPE_OPER_READ.equals(typeOper)) {
- result = new ObjectMapper().readValue(lwM2MClientProfile.getPostAttributeProfile().getAsJsonArray().toString().getBytes(), new TypeReference<>() {
- });
- result.addAll(new ObjectMapper().readValue(lwM2MClientProfile.getPostTelemetryProfile().getAsJsonArray().toString().getBytes(), new TypeReference<>() {
- }));
- } else {
- result = new ObjectMapper().readValue(lwM2MClientProfile.getPostObserveProfile().getAsJsonArray().toString().getBytes(), new TypeReference<>() {
- });
- }
- Set pathSent = ConcurrentHashMap.newKeySet();
- result.forEach(p -> {
- // #1.1
- String target = p;
- String[] resPath = target.split("/");
- String instance = "/" + resPath[1] + "/" + resPath[2];
- if (clientInstances.contains(instance)) {
- pathSent.add(target);
- }
- });
- lwM2MClient.getPendingRequests().addAll(pathSent);
- pathSent.forEach(target -> {
- lwM2mTransportRequest.sendAllRequest(lwServer, registration, target, typeOper, ContentFormat.TLV.getName(),
- null, null, this.context.getLwM2MTransportConfigServer().getTimeout());
- });
- if (GET_TYPE_OPER_OBSERVE.equals(typeOper)) {
- lwM2MClient.initValue(this, null);
+ private void initReadAttrTelemetryObserveToClient(Registration registration, LwM2mClient lwM2MClient, String typeOper) {
+ LwM2mClientProfile lwM2MClientProfile = lwM2mClientContext.getProfile(registration);
+ Set clientInstances = this.getAllInstancesInClient(registration);
+ Set result;
+ if (GET_TYPE_OPER_READ.equals(typeOper)) {
+ result = JacksonUtil.fromString(lwM2MClientProfile.getPostAttributeProfile().toString(), new TypeReference<>() {});
+ result.addAll(JacksonUtil.fromString(lwM2MClientProfile.getPostTelemetryProfile().toString(), new TypeReference<>() {}));
+ } else {
+ result = JacksonUtil.fromString(lwM2MClientProfile.getPostObserveProfile().toString(), new TypeReference<>() {});
+ }
+ Set pathSent = ConcurrentHashMap.newKeySet();
+ result.forEach(target -> {
+ // #1.1
+ String[] resPath = target.split("/");
+ String instance = "/" + resPath[1] + "/" + resPath[2];
+ if (clientInstances != null && clientInstances.size() > 0 && clientInstances.contains(instance)) {
+ pathSent.add(target);
}
- } catch (IOException e) {
- e.printStackTrace();
+ });
+ lwM2MClient.getPendingRequests().addAll(pathSent);
+ pathSent.forEach(target -> lwM2mTransportRequest.sendAllRequest(registration, target, typeOper, ContentFormat.TLV.getName(),
+ null, null, this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getTimeout()));
+ if (GET_TYPE_OPER_OBSERVE.equals(typeOper)) {
+ lwM2MClient.initValue(this, null);
}
}
@@ -677,26 +652,11 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
return (clientInstances.size() > 0) ? clientInstances : null;
}
- /**
- * get AttrName/TelemetryName with value from Client
- *
- * @param registration -
- * @return - JsonObject, format: {name: value}}
- */
- private JsonObject getAttributeClient(Registration registration) {
- if (registration.getAdditionalRegistrationAttributes().size() > 0) {
- JsonObject resNameValues = new JsonObject();
- registration.getAdditionalRegistrationAttributes().forEach(resNameValues::addProperty);
- return resNameValues;
- }
- return null;
- }
-
/**
* @param attributes - new JsonObject
* @param telemetry - new JsonObject
* @param registration - Registration LwM2M Client
- * @param path
+ * @param path -
*/
private void getParametersFromProfile(JsonObject attributes, JsonObject telemetry, Registration registration, Set path) {
LwM2mClientProfile lwM2MClientProfile = lwM2mClientContext.getProfile(registration);
@@ -746,7 +706,7 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
LwM2mPath pathIds = new LwM2mPath(path);
ResourceValue resourceValue = this.returnResourceValueFromLwM2MClient(lwM2MClient, pathIds);
return resourceValue == null ? null :
- this.converter.convertValue(resourceValue.getResourceValue(), this.context.getLwM2MTransportConfigServer().getResourceModelType(lwM2MClient.getRegistration(), pathIds), ResourceModel.Type.STRING, pathIds).toString();
+ this.converter.convertValue(resourceValue.getResourceValue(), this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getResourceModelType(lwM2MClient.getRegistration(), pathIds), ResourceModel.Type.STRING, pathIds).toString();
}
/**
@@ -796,25 +756,21 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* @param deviceProfile -
*/
private void onDeviceUpdateChangeProfile(Set registrationIds, DeviceProfile deviceProfile) {
- LwM2mClientProfile lwM2MClientProfileOld = lwM2mClientContext.getProfiles().get(deviceProfile.getUuidId());
+ LwM2mClientProfile lwM2MClientProfileOld = lwM2mClientContext.getProfiles().get(deviceProfile.getUuidId()).clone();
if (lwM2mClientContext.addUpdateProfileParameters(deviceProfile)) {
// #1
JsonArray attributeOld = lwM2MClientProfileOld.getPostAttributeProfile();
- Set attributeSetOld = new Gson().fromJson(attributeOld, new TypeToken<>() {
- }.getType());
+ Set attributeSetOld = this.convertJsonArrayToSet(attributeOld);
JsonArray telemetryOld = lwM2MClientProfileOld.getPostTelemetryProfile();
- Set telemetrySetOld = new Gson().fromJson(telemetryOld, new TypeToken<>() {
- }.getType());
+ Set telemetrySetOld = this.convertJsonArrayToSet(telemetryOld);
JsonArray observeOld = lwM2MClientProfileOld.getPostObserveProfile();
JsonObject keyNameOld = lwM2MClientProfileOld.getPostKeyNameProfile();
LwM2mClientProfile lwM2MClientProfileNew = lwM2mClientContext.getProfiles().get(deviceProfile.getUuidId());
JsonArray attributeNew = lwM2MClientProfileNew.getPostAttributeProfile();
- Set attributeSetNew = new Gson().fromJson(attributeNew, new TypeToken<>() {
- }.getType());
+ Set attributeSetNew = this.convertJsonArrayToSet(attributeNew);
JsonArray telemetryNew = lwM2MClientProfileNew.getPostTelemetryProfile();
- Set telemetrySetNew = new Gson().fromJson(telemetryNew, new TypeToken<>() {
- }.getType());
+ Set telemetrySetNew = this.convertJsonArrayToSet(telemetryNew);
JsonArray observeNew = lwM2MClientProfileNew.getPostObserveProfile();
JsonObject keyNameNew = lwM2MClientProfileNew.getPostKeyNameProfile();
@@ -847,11 +803,11 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
if (sentAttrToThingsboard.getPathPostParametersAdd().size() > 0) {
// update value in Resources
registrationIds.forEach(registrationId -> {
- LeshanServer lwServer = leshanServer;
+// LeshanServer lwServer = leshanServer;
Registration registration = lwM2mClientContext.getRegistration(registrationId);
- this.readResourceValueObserve(lwServer, registration, sentAttrToThingsboard.getPathPostParametersAdd(), GET_TYPE_OPER_READ);
+ this.readResourceValueObserve(registration, sentAttrToThingsboard.getPathPostParametersAdd(), GET_TYPE_OPER_READ);
// sent attr/telemetry to tingsboard for new path
- this.updateAttrTelemetry(registration, false, sentAttrToThingsboard.getPathPostParametersAdd());
+ this.updateAttrTelemetry(registration, sentAttrToThingsboard.getPathPostParametersAdd());
});
}
// #4.2 del
@@ -862,10 +818,8 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
// #5.1
if (!observeOld.equals(observeNew)) {
- Set observeSetOld = new Gson().fromJson(observeOld, new TypeToken<>() {
- }.getType());
- Set observeSetNew = new Gson().fromJson(observeNew, new TypeToken<>() {
- }.getType());
+ Set observeSetOld = new Gson().fromJson(observeOld, new TypeToken<>() {}.getType());
+ Set observeSetNew = new Gson().fromJson(observeNew, new TypeToken<>() {}.getType());
//#5.2 add
// path Attr/Telemetry includes newObserve
attributeSetOld.addAll(telemetrySetOld);
@@ -876,17 +830,22 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
ResultsAnalyzerParameters postObserveAnalyzer = this.getAnalyzerParameters(sentObserveToClientOld.getPathPostParametersAdd(), sentObserveToClientNew.getPathPostParametersAdd());
// sent Request observe to Client
registrationIds.forEach(registrationId -> {
- LeshanServer lwServer = leshanServer;
Registration registration = lwM2mClientContext.getRegistration(registrationId);
- this.readResourceValueObserve(lwServer, registration, postObserveAnalyzer.getPathPostParametersAdd(), GET_TYPE_OPER_OBSERVE);
+ this.readResourceValueObserve(registration, postObserveAnalyzer.getPathPostParametersAdd(), GET_TYPE_OPER_OBSERVE);
// 5.3 del
// sent Request cancel observe to Client
- this.cancelObserveIsValue(lwServer, registration, postObserveAnalyzer.getPathPostParametersDel());
+ this.cancelObserveIsValue(registration, postObserveAnalyzer.getPathPostParametersDel());
});
}
}
}
+ private Set convertJsonArrayToSet (JsonArray jsonArray) {
+ List attributeListOld = new Gson().fromJson(jsonArray, new TypeToken<>() {
+ }.getType());
+ return Sets.newConcurrentHashSet(attributeListOld);
+ }
+
/**
* Compare old list with new list after change AttrTelemetryObserve in config Profile
*
@@ -917,20 +876,19 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
* Update Resource value after change RezAttrTelemetry in config Profile
* sent response Read to Client and add path to pathResAttrTelemetry in LwM2MClient.getAttrTelemetryObserveValue()
*
- * @param lwServer - LeshanServer
* @param registration - Registration LwM2M Client
* @param targets - path Resources == [ "/2/0/0", "/2/0/1"]
*/
- private void readResourceValueObserve(LeshanServer lwServer, Registration registration, Set targets, String typeOper) {
+ private void readResourceValueObserve(Registration registration, Set targets, String typeOper) {
targets.forEach(target -> {
LwM2mPath pathIds = new LwM2mPath(target);
if (pathIds.isResource()) {
if (GET_TYPE_OPER_READ.equals(typeOper)) {
- lwM2mTransportRequest.sendAllRequest(lwServer, registration, target, typeOper,
- ContentFormat.TLV.getName(), null, null, this.context.getLwM2MTransportConfigServer().getTimeout());
+ lwM2mTransportRequest.sendAllRequest(registration, target, typeOper,
+ ContentFormat.TLV.getName(), null, null, this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getTimeout());
} else if (GET_TYPE_OPER_OBSERVE.equals(typeOper)) {
- lwM2mTransportRequest.sendAllRequest(lwServer, registration, target, typeOper,
- null, null, null, this.context.getLwM2MTransportConfigServer().getTimeout());
+ lwM2mTransportRequest.sendAllRequest(registration, target, typeOper,
+ null, null, null, this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getTimeout());
}
}
});
@@ -946,11 +904,11 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
return analyzerParameters;
}
- private void cancelObserveIsValue(LeshanServer lwServer, Registration registration, Set paramAnallyzer) {
+ private void cancelObserveIsValue(Registration registration, Set paramAnallyzer) {
LwM2mClient lwM2MClient = lwM2mClientContext.getLwM2mClientWithReg(registration, null);
paramAnallyzer.forEach(p -> {
if (this.returnResourceValueFromLwM2MClient(lwM2MClient, new LwM2mPath(p)) != null) {
- this.setCancelObservationRecourse(lwServer, registration, p);
+ this.setCancelObservationRecourse(registration, p);
}
}
);
@@ -958,8 +916,8 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
private void putDelayedUpdateResourcesClient(LwM2mClient lwM2MClient, Object valueOld, Object valueNew, String path) {
if (valueNew != null && (valueOld == null || !valueNew.toString().equals(valueOld.toString()))) {
- lwM2mTransportRequest.sendAllRequest(leshanServer, lwM2MClient.getRegistration(), path, POST_TYPE_OPER_WRITE_REPLACE,
- ContentFormat.TLV.getName(), null, valueNew, this.context.getLwM2MTransportConfigServer().getTimeout());
+ lwM2mTransportRequest.sendAllRequest(lwM2MClient.getRegistration(), path, POST_TYPE_OPER_WRITE_REPLACE,
+ ContentFormat.TLV.getName(), null, valueNew, this.lwM2mTransportContextServer.getLwM2MTransportConfigServer().getTimeout());
} else {
log.error("05 delayError");
}
@@ -1037,18 +995,18 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
/**
* @param lwM2MClient -
- * @return
+ * @return SessionInfoProto -
*/
private SessionInfoProto getNewSessionInfoProto(LwM2mClient lwM2MClient) {
if (lwM2MClient != null) {
TransportProtos.ValidateDeviceCredentialsResponseMsg msg = lwM2MClient.getCredentialsResponse();
- if (msg == null || msg.getDeviceInfo() == null) {
+ if (msg == null) {
log.error("[{}] [{}]", lwM2MClient.getEndpoint(), CLIENT_NOT_AUTHORIZED);
this.closeClientSession(lwM2MClient.getRegistration());
return null;
} else {
return SessionInfoProto.newBuilder()
- .setNodeId(this.context.getNodeId())
+ .setNodeId(this.lwM2mTransportContextServer.getNodeId())
.setSessionIdMSB(lwM2MClient.getSessionId().getMostSignificantBits())
.setSessionIdLSB(lwM2MClient.getSessionId().getLeastSignificantBits())
.setDeviceIdMSB(msg.getDeviceInfo().getDeviceIdMSB())
@@ -1114,7 +1072,7 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
if (attrSharedNames.size() > 0) {
//#2.1
try {
- TransportProtos.GetAttributeRequestMsg getAttributeMsg = context.getAdaptor().convertToGetAttributes(null, attrSharedNames);
+ TransportProtos.GetAttributeRequestMsg getAttributeMsg = lwM2mTransportContextServer.getAdaptor().convertToGetAttributes(null, attrSharedNames);
transportService.process(sessionInfo, getAttributeMsg, getAckCallback(lwM2MClient, getAttributeMsg.getRequestId(), DEVICE_ATTRIBUTES_REQUEST));
} catch (AdaptorException e) {
log.warn("Failed to decode get attributes request", e);
@@ -1132,14 +1090,13 @@ public class LwM2mTransportServiceImpl implements LwM2mTransportService {
*/
private List getNamesAttrFromProfileIsWritable(LwM2mClient lwM2MClient) {
LwM2mClientProfile profile = lwM2mClientContext.getProfile(lwM2MClient.getProfileId());
- Set attrSet = new Gson().fromJson(profile.getPostAttributeProfile(), Set.class);
- ConcurrentMap keyNamesMap = new Gson().fromJson(profile.getPostKeyNameProfile().toString(), new TypeToken>() {
- }.getType());
+ Set attrSet = new Gson().fromJson(profile.getPostAttributeProfile(), new TypeToken<>() {}.getType());
+ ConcurrentMap keyNamesMap = new Gson().fromJson(profile.getPostKeyNameProfile().toString(), new TypeToken>() {}.getType());
ConcurrentMap keyNamesIsWritable = keyNamesMap.entrySet()
.stream()
- .filter(e -> (attrSet.contains(e.getKey()) && context.getLwM2MTransportConfigServer().getResourceModel(lwM2MClient.getRegistration(), new LwM2mPath(e.getKey())) != null &&
- context.getLwM2MTransportConfigServer().getResourceModel(lwM2MClient.getRegistration(), new LwM2mPath(e.getKey())).operations.isWritable()))
+ .filter(e -> (attrSet.contains(e.getKey()) && lwM2mTransportContextServer.getLwM2MTransportConfigServer().getResourceModel(lwM2MClient.getRegistration(), new LwM2mPath(e.getKey())) != null &&
+ lwM2mTransportContextServer.getLwM2MTransportConfigServer().getResourceModel(lwM2MClient.getRegistration(), new LwM2mPath(e.getKey())).operations.isWritable()))
.collect(Collectors.toConcurrentMap(Map.Entry::getKey, Map.Entry::getValue));
Set namesIsWritable = ConcurrentHashMap.newKeySet();
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mVersionedModelProvider.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mVersionedModelProvider.java
new file mode 100644
index 0000000000..503af176af
--- /dev/null
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2mVersionedModelProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright © 2016-2021 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.transport.lwm2m.server;
+
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.leshan.core.model.DefaultDDFFileValidator;
+import org.eclipse.leshan.core.model.LwM2mModel;
+import org.eclipse.leshan.core.model.ObjectModel;
+import org.eclipse.leshan.core.model.ResourceModel;
+import org.eclipse.leshan.server.model.LwM2mModelProvider;
+import org.eclipse.leshan.server.registration.Registration;
+import org.thingsboard.server.common.data.id.TenantId;
+import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
+
+import java.util.ArrayList;
+import java.util.Base64;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+
+import static org.thingsboard.server.common.data.ResourceType.LWM2M_MODEL;
+
+@Slf4j
+public class LwM2mVersionedModelProvider implements LwM2mModelProvider {
+
+ /**
+ * int objectId
+ * String version ("1.01")
+ * Key = objectId + "##" + version
+ * Value = TenantId
+ */
+ private final LwM2mClientContext lwM2mClientContext;
+ private final LwM2mTransportContextServer lwM2mTransportContextServer;
+
+ public LwM2mVersionedModelProvider(LwM2mClientContext lwM2mClientContext, LwM2mTransportContextServer lwM2mTransportContextServer) {
+ this.lwM2mClientContext = lwM2mClientContext;
+ this.lwM2mTransportContextServer = lwM2mTransportContextServer;
+ }
+ private String getIdVer(ObjectModel objectModel) {
+ return objectModel.id + "##" + ((objectModel.getVersion() == null || objectModel.getVersion().isEmpty()) ? ObjectModel.DEFAULT_VERSION : objectModel.getVersion());
+ }
+
+ private String getIdVer(Integer objectId, String version) {
+ return objectId != null ? objectId + "##" + ((version == null || version.isEmpty()) ? ObjectModel.DEFAULT_VERSION : version) : null;
+ }
+
+ /**
+ * Update repository if need
+ *
+ * @param registration
+ * @return
+ */
+ @Override
+ public LwM2mModel getObjectModel(Registration registration) {
+ return new DynamicModel(registration
+ );
+ }
+
+ private class DynamicModel implements LwM2mModel {
+
+ private final Registration registration;
+ private final TenantId tenantId;
+
+ public DynamicModel(Registration registration) {
+ this.registration = registration;
+ this.tenantId = lwM2mClientContext.getProfile(registration).getTenantId();
+ }
+
+ @Override
+ public ResourceModel getResourceModel(int objectId, int resourceId) {
+ try {
+ ObjectModel objectModel = getObjectModel(objectId);
+ if (objectModel != null)
+ return objectModel.resources.get(resourceId);
+ else
+ return null;
+ } catch (Exception e) {
+ log.error("", e);
+ return null;
+ }
+ }
+
+ @Override
+ public ObjectModel getObjectModel(int objectId) {
+ String version = registration.getSupportedVersion(objectId);
+ if (version != null) {
+ return this.getObjectModelDynamic(objectId, version);
+ }
+ return null;
+ }
+
+ @Override
+ public Collection getObjectModels() {
+ Map supportedObjects = this.registration.getSupportedObject();
+ Collection result = new ArrayList(supportedObjects.size());
+ Iterator i$ = supportedObjects.entrySet().iterator();
+
+ while (i$.hasNext()) {
+ Map.Entry supportedObject = (Map.Entry) i$.next();
+ ObjectModel objectModel = this.getObjectModelDynamic((Integer) supportedObject.getKey(), (String) supportedObject.getValue());
+ if (objectModel != null) {
+ result.add(objectModel);
+ }
+ }
+ return result;
+ }
+
+ private ObjectModel getObjectModelDynamic(Integer objectId, String version) {
+ String key = getIdVer(objectId, version);
+ String xmlB64 = lwM2mTransportContextServer.getTransportResourceCache().get(
+ this.tenantId,
+ LWM2M_MODEL,
+ key).
+ getValue();
+ return xmlB64 != null && !xmlB64.isEmpty() ?
+ lwM2mTransportContextServer.parseFromXmlToObjectModel(
+ Base64.getDecoder().decode(xmlB64),
+ key + ".xml",
+ new DefaultDDFFileValidator()) :
+ null;
+ }
+ }
+}
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientContextImpl.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientContextImpl.java
index b965c99611..d30628a43f 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientContextImpl.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientContextImpl.java
@@ -15,7 +15,6 @@
*/
package org.thingsboard.server.transport.lwm2m.server.client;
-import lombok.extern.slf4j.Slf4j;
import org.eclipse.leshan.server.registration.Registration;
import org.eclipse.leshan.server.security.EditableSecurityStore;
import org.springframework.stereotype.Service;
@@ -105,6 +104,7 @@ public class LwM2mClientContextImpl implements LwM2mClientContext {
/**
* Add new LwM2MClient to session
+ *
* @param identity-
* @return SecurityInfo. If error - SecurityInfoError
* and log:
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientProfile.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientProfile.java
index 6f28d54d67..8285c9bc8b 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientProfile.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/client/LwM2mClientProfile.java
@@ -15,18 +15,22 @@
*/
package org.thingsboard.server.transport.lwm2m.server.client;
+import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import lombok.Data;
+import org.thingsboard.server.common.data.id.TenantId;
@Data
public class LwM2mClientProfile {
+
+ private TenantId tenantId;
/**
* {"clientLwM2mSettings": {
* clientUpdateValueAfterConnect: false;
* }
- **/
- JsonObject postClientLwM2mSettings;
+ **/
+ private JsonObject postClientLwM2mSettings;
/**
* {"keyName": {
@@ -34,21 +38,44 @@ public class LwM2mClientProfile {
* "/3/0/0": "manufacturer",
* "/3/0/2": "serialNumber"
* }
- **/
- JsonObject postKeyNameProfile;
+ **/
+ private JsonObject postKeyNameProfile;
/**
* [ "/2/0/0", "/2/0/1"]
*/
- JsonArray postAttributeProfile;
+ private JsonArray postAttributeProfile;
/**
* [ "/2/0/0", "/2/0/1"]
*/
- JsonArray postTelemetryProfile;
+ private JsonArray postTelemetryProfile;
/**
* [ "/2/0/0", "/2/0/1"]
*/
- JsonArray postObserveProfile;
+ private JsonArray postObserveProfile;
+
+ public LwM2mClientProfile clone() {
+ LwM2mClientProfile lwM2mClientProfile = new LwM2mClientProfile();
+ lwM2mClientProfile.postClientLwM2mSettings = this.deepCopy(this.postClientLwM2mSettings, JsonObject.class);
+ lwM2mClientProfile.postKeyNameProfile = this.deepCopy(this.postKeyNameProfile, JsonObject.class);
+ lwM2mClientProfile.postAttributeProfile = this.deepCopy(this.postAttributeProfile, JsonArray.class);
+ lwM2mClientProfile.postTelemetryProfile = this.deepCopy(this.postTelemetryProfile, JsonArray.class);
+ lwM2mClientProfile.postObserveProfile = this.deepCopy(this.postObserveProfile, JsonArray.class);
+ return lwM2mClientProfile;
+ }
+
+
+ private T deepCopy(T elements, Class type) {
+ try {
+ Gson gson = new Gson();
+ return gson.fromJson(gson.toJson(elements), type);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+
}
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/store/TbLwM2mRedisRegistrationStore.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/store/TbLwM2mRedisRegistrationStore.java
index 6d24ac5ca0..bac4554b04 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/store/TbLwM2mRedisRegistrationStore.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/store/TbLwM2mRedisRegistrationStore.java
@@ -21,9 +21,9 @@ import org.eclipse.californium.elements.EndpointContext;
import org.eclipse.leshan.core.observation.Observation;
import org.eclipse.leshan.core.util.NamedThreadFactory;
import org.eclipse.leshan.core.util.Validate;
-import org.eclipse.leshan.server.Destroyable;
-import org.eclipse.leshan.server.Startable;
-import org.eclipse.leshan.server.Stoppable;
+import org.eclipse.leshan.core.Destroyable;
+import org.eclipse.leshan.core.Startable;
+import org.eclipse.leshan.core.Stoppable;
import org.eclipse.leshan.server.californium.observation.ObserveUtil;
import org.eclipse.leshan.server.californium.registration.CaliforniumRegistrationStore;
import org.eclipse.leshan.server.redis.JedisLock;
@@ -278,8 +278,8 @@ public class TbLwM2mRedisRegistrationStore implements CaliforniumRegistrationSto
protected class RedisIterator implements Iterator {
- private RedisConnectionFactory connectionFactory;
- private ScanParams scanParams;
+ private final RedisConnectionFactory connectionFactory;
+ private final ScanParams scanParams;
private String cursor;
private List scanResult;
@@ -552,17 +552,16 @@ public class TbLwM2mRedisRegistrationStore implements CaliforniumRegistrationSto
@Override
public org.eclipse.californium.core.observe.Observation putIfAbsent(Token token,
org.eclipse.californium.core.observe.Observation obs) throws ObservationStoreException {
- return add(token, obs, true);
+ return add(obs, true);
}
@Override
public org.eclipse.californium.core.observe.Observation put(Token token,
org.eclipse.californium.core.observe.Observation obs) throws ObservationStoreException {
- return add(token, obs, false);
+ return add(obs, false);
}
- private org.eclipse.californium.core.observe.Observation add(Token token,
- org.eclipse.californium.core.observe.Observation obs, boolean ifAbsent) throws ObservationStoreException {
+ private org.eclipse.californium.core.observe.Observation add(org.eclipse.californium.core.observe.Observation obs, boolean ifAbsent) throws ObservationStoreException {
String endpoint = ObserveUtil.validateCoapObservation(obs);
org.eclipse.californium.core.observe.Observation previousObservation = null;
@@ -577,7 +576,7 @@ public class TbLwM2mRedisRegistrationStore implements CaliforniumRegistrationSto
throw new ObservationStoreException("no registration for this Id");
byte[] key = toKey(OBS_TKN, obs.getRequest().getToken().getBytes());
byte[] serializeObs = serializeObs(obs);
- byte[] previousValue = null;
+ byte[] previousValue;
if (ifAbsent) {
previousValue = j.get(key);
if (previousValue == null || previousValue.length == 0) {
diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/utils/LwM2mValueConverterImpl.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/utils/LwM2mValueConverterImpl.java
index 67ce459d9b..85283749dc 100644
--- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/utils/LwM2mValueConverterImpl.java
+++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/utils/LwM2mValueConverterImpl.java
@@ -26,10 +26,13 @@ import org.eclipse.leshan.core.util.StringUtils;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
+import java.math.BigInteger;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
+import static org.eclipse.leshan.core.model.ResourceModel.Type.OPAQUE;
+
@Slf4j
public class LwM2mValueConverterImpl implements LwM2mValueConverter {
@@ -51,6 +54,9 @@ public class LwM2mValueConverterImpl implements LwM2mValueConverter {
/** expected type */
return value;
}
+ if (currentType == null) {
+ currentType = OPAQUE;
+ }
switch (expectedType) {
case INTEGER:
@@ -130,7 +136,13 @@ public class LwM2mValueConverterImpl implements LwM2mValueConverter {
return String.valueOf(value);
case TIME:
String DATE_FORMAT = "MMM d, yyyy HH:mm a";
- Long timeValue = ((Date) value).getTime();
+ Long timeValue;
+ try {
+ timeValue = ((Date) value).getTime();
+ }
+ catch (Exception e){
+ timeValue = new BigInteger((byte [])value).longValue();
+ }
DateFormat formatter = new SimpleDateFormat(DATE_FORMAT);
return formatter.format(new Date(timeValue));
default:
diff --git a/common/transport/lwm2m/src/main/resources/models/10241.xml b/common/transport/lwm2m/src/main/resources/models/10241.xml
deleted file mode 100644
index 2b2af520e2..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10241.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
- HostDeviceInfo
-
- 10241
- urn:oma:lwm2m:x:10241
-
-
- Multiple
- Optional
-
- Host Device Manufacturer
- R
- Multiple
- Mandatory
- String
-
-
-
-
- Host Device Model Number
- R
- Multiple
- Mandatory
- String
-
-
-
-
- Host Device Unique ID
- R
- Multiple
- Mandatory
- String
-
-
-
-
- Host Device Software Version
- R
- Multiple
- Mandatory
- String
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10242.xml b/common/transport/lwm2m/src/main/resources/models/10242.xml
deleted file mode 100644
index 09a62806d3..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10242.xml
+++ /dev/null
@@ -1,659 +0,0 @@
-
-
-
-
-
-
- 3-Phase Power Meter
-
-
-
- 10242
- urn:oma:lwm2m:x:10242
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Serial Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Description
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Tension R
- R
- Single
- Mandatory
- Float
-
- V
-
-
-
-
- -
-
Current R
- R
- Single
- Mandatory
- Float
-
- A
-
-
-
-
- -
-
Active Power R
- R
- Single
- Optional
- Float
-
- kW
-
-
-
-
- -
-
Reactive Power R
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Inductive Reactive Power R
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Capacitive Reactive Power R
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Apparent Power R
- R
- Single
- Optional
- Float
-
- kVA
-
-
-
-
- -
-
Power Factor R
- R
- Single
- Optional
- Float
- -1..1
-
-
-
-
-
- -
-
THD-V R
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
THD-A R
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
Tension S
- R
- Single
- Mandatory
- Float
-
- V
-
-
-
-
- -
-
Current S
- R
- Single
- Mandatory
- Float
-
- A
-
-
-
-
- -
-
Active Power S
- R
- Single
- Optional
- Float
-
- kW
-
-
-
-
- -
-
Reactive Power S
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Inductive Reactive Power S
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Capacitive Reactive Power S
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Apparent Power S
- R
- Single
- Optional
- Float
-
- kVA
-
-
-
-
- -
-
Power Factor S
- R
- Single
- Optional
- Float
- -1..1
-
-
-
-
-
- -
-
THD-V S
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
THD-A S
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
Tension T
- R
- Single
- Mandatory
- Float
-
- V
-
-
-
-
- -
-
Current T
- R
- Single
- Mandatory
- Float
-
- A
-
-
-
-
- -
-
Active Power T
- R
- Single
- Optional
- Float
-
- kW
-
-
-
-
- -
-
Reactive Power T
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Inductive Reactive Power T
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Capacitive Reactive Power T
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Apparent Power T
- R
- Single
- Optional
- Float
-
- kVA
-
-
-
-
- -
-
Power Factor T
- R
- Single
- Optional
- Float
- -1..1
-
-
-
-
-
- -
-
THD-V T
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
THD-A T
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
3-Phase Active Power
- R
- Single
- Optional
- Float
-
- kW
-
-
-
-
- -
-
3-Phase Reactive Power
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
3-Phase Inductive Reactive Power
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
3-Phase Capacitive Reactive Power
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
3-Phase Apparent Power
- R
- Single
- Optional
- Float
-
- kVA
-
-
-
-
- -
-
3-Phase Power Factor
- R
- Single
- Optional
- Float
- -1..1
-
-
-
-
-
- -
-
3-Phase phi cosine
- R
- Single
- Optional
- Float
- -1..1
-
-
-
-
-
- -
-
Active Energy
- R
- Single
- Optional
- Float
-
- kWh
-
-
-
-
- -
-
Reactive Energy
- R
- Single
- Optional
- Float
-
- kvarh
-
-
-
-
- -
-
Inductive Reactive Energy
- R
- Single
- Optional
- Float
-
- kvarh
-
-
-
-
- -
-
Capacitive Reactive Energy
- R
- Single
- Optional
- Float
-
- kvarh
-
-
-
-
- -
-
Apparent Energy
- R
- Single
- Optional
- Float
-
- kVAh
-
-
-
-
- -
-
Tension R-S
- R
- Single
- Optional
- Float
-
- V
-
-
-
-
- -
-
Tension S-T
- R
- Single
- Optional
- Float
-
- V
-
-
-
-
- -
-
Tension T-R
- R
- Single
- Optional
- Float
-
- V
-
-
-
-
- -
-
Frequency
- R
- Single
- Optional
- Float
-
- Hz
-
-
-
-
- -
-
Neutral Current
- R
- Single
- Optional
- Float
-
- A
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10243.xml b/common/transport/lwm2m/src/main/resources/models/10243.xml
deleted file mode 100644
index b506162174..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10243.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-
-
-
-
-
-
- Single-Phase Power Meter
-
-
-
- 10243
- urn:oma:lwm2m:x:10243
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Serial Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Description
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Tension
- R
- Single
- Mandatory
- String
-
- V
-
-
-
-
- -
-
Current
- R
- Single
- Mandatory
- Float
-
- A
-
-
-
-
- -
-
Active Power
- R
- Single
- Optional
- Float
-
- kW
-
-
-
-
- -
-
Reactive Power
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Inductive Reactive Power
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Capacitive Reactive Power
- R
- Single
- Optional
- Float
-
- kvar
-
-
-
-
- -
-
Apparent Power
- R
- Single
- Optional
- Float
-
- kVA
-
-
-
-
- -
-
Power Factor
- R
- Single
- Optional
- Float
- -1..1
-
-
-
-
-
- -
-
THD-V
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
THD-A
- R
- Single
- Optional
- Float
-
- /100
-
-
-
-
- -
-
Active Energy
- R
- Single
- Optional
- Float
-
- kWh
-
-
-
-
- -
-
Reactive Energy
- R
- Single
- Optional
- Float
-
- kvarh
-
-
-
-
- -
-
Apparent Energy
- R
- Single
- Optional
- Float
-
- kVAh
-
-
-
-
- -
-
Frequency
- R
- Single
- Optional
- Float
-
- Hz
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10244.xml b/common/transport/lwm2m/src/main/resources/models/10244.xml
deleted file mode 100644
index d1ae9d911e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10244.xml
+++ /dev/null
@@ -1,301 +0,0 @@
-
-
- VehicleControlUnit
-
- 10244
- urn:oma:lwm2m:x:10244
- Single
- Optional
-
- Vehicle UI State
- R
- Single
- Mandatory
- Integer
- 0..15
-
-
-
- Vehicle Speed
- R
- Single
- Mandatory
- Integer
-
- km/h
-
-
- Vehicle Shift Status
- R
- Single
- Mandatory
- Integer
- 0..3
-
-
-
- Vehicle AP Position
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- Vehicle Power
- R
- Single
- Optional
- Float
-
- kW
-
-
- Vehicle Drive Energy
- R
- Single
- Optional
- Float
-
- Wh
-
-
- Vehicle Energy Consumption Efficiency
- R
- Single
- Optional
- Float
-
- Wh/km
-
-
- Vehicle Estimated Mileage
- R
- Single
- Optional
- Integer
-
- km
-
-
- Vehicle Charge Cable Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- Vehicle Charge Status
- R
- Single
- Mandatory
- Integer
- 0..15
-
-
-
- Vehicle Charge Voltage
- R
- Single
- Mandatory
- Float
-
- V
-
-
- Vehicle Charge Current
- R
- Single
- Mandatory
- Float
-
- A
-
-
- Vehicle Charge Remaining Time
- R
- Single
- Mandatory
- Integer
-
- min
-
-
- Battery Pack Voltage
- R
- Single
- Mandatory
- Float
-
- V
-
-
- Battery Pack Current
- R
- Single
- Mandatory
- Float
-
- A
-
-
- Battery Pack Remaining Capacity
- R
- Single
- Mandatory
- Integer
-
- Ah
-
-
- Battery Pack SOC
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- Battery Pack SOH
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- Battery Cell MinVolt
- R
- Single
- Mandatory
- Integer
-
- mV
-
-
- Battery Cell MaxVolt
- R
- Single
- Mandatory
- Integer
-
- mV
-
-
- Battery Module MinTemp
- R
- Single
- Mandatory
- Integer
-
- Cel
-
-
- Battery Module MaxTemp
- R
- Single
- Mandatory
- Integer
-
- Cel
-
-
- Battery Connection Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
- MCU Voltage
- R
- Single
- Mandatory
- Integer
-
- V
-
-
- MCU Temperature
- R
- Single
- Mandatory
- Integer
-
- Cel
-
-
- Motor Speed
- R
- Single
- Mandatory
- Integer
-
- 1/min
-
-
- Motor Temperature
- R
- Single
- Mandatory
- Integer
-
- Cel
-
-
- Motor OT Warning
- R
- Single
- Optional
- Boolean
-
-
-
-
- MCU OT Warning
- R
- Single
- Optional
- Boolean
-
-
-
-
- Battery Pack OT Warning
- R
- Single
- Optional
- Boolean
-
-
-
-
- MCU fault
- R
- Single
- Optional
- Boolean
-
-
-
-
- Motor Error
- R
- Single
- Optional
- Boolean
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10245.xml b/common/transport/lwm2m/src/main/resources/models/10245.xml
deleted file mode 100644
index ca8c9da9ae..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10245.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-
-
-
-
-
- Relay Management
- This LWM2M Object provides a range of eNB related measurements and parameters of which several are changeable. Furthermore, it includes Resources to enable/disable the eNB.
- 10245
- urn:oma:lwm2m:x:10245
-
-
- Single
- Optional
-
- -
-
eNB Availability
- R
- Single
- Mandatory
- Boolean
- AVAILABLE; UNAVAILABLE
-
- This field indicates to the CCC whether or not the eNB of the CrowdBox is available for activation: AVAILABLE = TRUE; UNAVAILABLE = FALSE This is set by the CrowdBox itself using an algorithm specific to the use case and based on parameters known to the CrowdBox which may not necessarily be signalled to the network. In the absence of a more specific algorithm, this parameter should be set to AVAILABLE, unless a fault is detected which would prevent activation of the eNB, in which case it should be set to UNAVAILABLE.
-
- -
-
GPS Status
- R
- Single
- Mandatory
- Boolean
- UNSYNCHRONISED; SYNCHRONISED
-
- States whether the CrowdBox GPS receiver is synchronised to GPS time or not: UNSYCHRONISED = FALSE; SYNCHRONISED = TRUE If more than one GPS receiver is used by the CrowdBox, then SYNCHRONISED should be reported only if all receivers are synchronised.
-
- -
-
Orientation
- R
- Single
- Optional
- Integer
- -180..180
- deg
- Orientation of CrowdBox with respect to magnetic north. The reference orientation of the CrowdBox shall be the pointing direction of the eNB antenna(s) or, in the case of an omni-directional CrowdBox antenna, as defined in the accompanying product documentation.
-
- -
-
eNB EARFCN
- RW
- Single
- Mandatory
- Integer
- 0..65535
-
- EARFCN currently used by the eNB. Highest valid value in 3GPP is currently 46589. If the requested EARFCN is not supported by the eNB, the response should be "Bad Request". The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
eNB Bandwidth
- RW
- Single
- Mandatory
- Integer
- 5, 10, 15, 20
-
- Bandwidth of the currently used eNB carrier. If the requested bandwidth is not supported by the eNB, the response should be "Bad Request". The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
Backhaul Primary EARFCN
- RW
- Single
- Mandatory
- Integer
- 0..65535
-
- EARFCN of primary cell used for the backhaul. If the requested EARFCN is not supported by the CrowdBox UE, the response should be "Bad Request". The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
Backhaul Secondary EARFCN
- RW
- Multiple
- Mandatory
- Integer
- 0..65535
-
- EARFCN of any secondary cells used for the backhaul, in the event that carrier aggregation is being used. If the requested EARFCN is not supported by the CrowdBox UE, the response should be "Bad Request". The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
Cumulative Measurement Window
- RW
- Single
- Mandatory
- Integer
- 0..65535
- s
- The current measurement interval over which cumulative statistics are collected for the following resources: Cumulative Number of Unique Users, Cumulative Downlink Throughput per Connected User, Cumulative Uplink Throughput per Connected User. Note that this measurement period is a sliding window rather than a granularity period. Measurements should never be reset, but rather old measurements should be removed from the cumulative total as they fall outside of the window. A value of 0 shall be interpreted as meaning only the current value should be reported. A value of 65535 shall be interpreted as an infinite window size (i.e. old measurements are never discarded).
-
- -
-
eNB ECI
- R
- Single
- Mandatory
- Integer
- 0..2^28-1
-
- A 28 bit E-UTRAN Cell Identifier (ECI)
-
- -
-
eNB Status
- RW
- Single
- Mandatory
- Boolean
-
-
- This resource indicates the current status of the eNB and can be used by the CCC to change the state from enabled to disabled. TRUE = eNB enabled FALSE = eNB disabled
-
- -
-
Enable eNB
- E
- Single
- Mandatory
-
-
-
- Enables the eNB. In addition the CrowdBox shall also update its configuration to reflect the current state of other relevant parameters. This might require a reboot.
-
- -
-
eNB Maximum Power
- RW
- Single
- Mandatory
- Integer
- 0..63
- dBm
- Maximum power for the eNB measured as the sum of input powers to all antenna connectors. The maximum power per antenna port is equal to the maximum eNB power divided by the number of antenna ports. If the requested power is above or below the maximum or minimum power levels of the eNB, then the power level should be set to the maximum or minimum respectively. The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
Backhaul Primary q-OffsetFreq
- RW
- Single
- Mandatory
- Integer
- -24..24
- dB
- q-OffsetFreq parameter for the backhaul primary EARFCN in SIB5 of the CrowdBox eNB BCCH. See TS 36.331 for details. Range: dB-24; dB-22 .. dB24 The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
Backhaul Secondary q-OffsetFreq
- RW
- Multiple
- Mandatory
- Integer
- -24..24
- dB
- q-OffsetFreq parameter for the backhaul secondary EARFCN in SIB5 of the CrowdBox eNB BCCH. See TS 36.331 for details Range: dB-24; dB-22 .. dB24 The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
Neighbour CrowdBox EARFCN
- RW
- Multiple
- Mandatory
- Integer
- 0..66635
-
- EARFCN of a neighbour CrowdBox. Each instance of this resource relates to the same instance of resource ID 15.
-
- -
-
Neighbour CrowdBox q-OffsetFreq
- RW
- Multiple
- Mandatory
- Integer
- -24..24
- dB
- q-OffsetFreq parameter of the Neighbour CrowdBox EARFCN in SIB5 of the Neighbour CrowdBox eNB BCCH. See TS 36.331 for details Range: dB-24; dB-22 .. dB24 Each instance of this resource relates to the same instance of resource ID 14. The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
- -
-
Serving Macro eNB cellIndividualOffset
- RW
- Single
- Mandatory
- Integer
- -24..24
- dB
- Specifies the value of the cellIndividualOffset parameter applicable to the CrowdBox macro serving cell that is to be signalled to connected UEs in their measurement configuration information . See TS 36.331 for details. The CrowdBox shall only apply a change of this resource upon execution of the “Enable eNB” command.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10246.xml b/common/transport/lwm2m/src/main/resources/models/10246.xml
deleted file mode 100644
index b1667af963..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10246.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
- CrowdBox Measurements
- This LWM2M Object provides CrowdBox-related measurements such as serving cell parameters, backhaul timing advance, and neighbour cell reports.
- 10246
- urn:oma:lwm2m:x:10246
-
-
- Single
- Optional
-
- -
-
Serving Cell ID
- R
- Single
- Mandatory
- Integer
- 0..2^32-1
-
- Serving cell ID as specified by the cellIdentity field broadcast in SIB1 of the serving cell (see TS 36.331).
-
- -
-
Serving Cell RSRP
- R
- Single
- Mandatory
- Integer
- 0..97
-
- Serving cell RSRP, as defined in TS 36.133, Section 9.1.4. Range: RSRP_00; RSRP_01 .. RSRP_97
-
- -
-
Serving Cell RSRQ
- R
- Single
- Mandatory
- Integer
- -30..46
-
- Serving cell RSRQ, as defined in TS 36.133, Section 9.1.7. Range: RSRQ_-30; RSRQ_-29 .. RSRQ_46
-
- -
-
Serving Cell SINR
- R
- Single
- Mandatory
- Integer
- -10..30
- dB
- SINR of serving cell as estimated by the CrowdBox. Note that this is a proprietary measurement dependent on the UE chipset manufacturer. The UE chipset used should be stated in the accompanying product documentation.
-
- -
-
Cumulative Backhaul Timing Advance
- R
- Single
- Optional
- Integer
- 0..65535
-
- The cumulative timing advance signalled by the current serving cell to the CrowdBox. This is the sum of the initial timing advance signalled in the MAC payload of the Random Access Response (11 bits, 0 .. 1282) and subsequent adjustments signalled in the MAC PDU of DL-SCH transmissions (6 bits, -31 .. 32). See TS 36.321 for details.
-
- -
-
Neighbour Cell Report
- R
- Multiple
- Mandatory
- Objlnk
-
-
- A link to the "Neighbour Cell Report" object for each neighbour cell of the CrowdBox.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10247.xml b/common/transport/lwm2m/src/main/resources/models/10247.xml
deleted file mode 100644
index 17f2f51be2..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10247.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
- Neighbour Cell Report
- This LWM2M Object provides the neighbour cell report. The CrowdBox Measurements Object and the Connected UE Report Object have both Objlnk Resources pointing to this Object.
- 10247
- urn:oma:lwm2m:x:10247
-
-
- Multiple
- Optional
-
- -
-
Neighbour PCI
- R
- Single
- Mandatory
- Integer
- 0..503
-
- Physical Cell ID of neighbouring LTE cell, as defined in TS 36.211
-
- -
-
Neighbour Cell ID
- R
- Single
- Optional
- Integer
- 0..2^32-1
-
- Neighbour cell ID as specified by the cellIdentity field broadcast in SIB1 of the neighbour cell (see TS 36.331).
-
- -
-
Neighbour Cell Rank
- R
- Single
- Mandatory
- Integer
- 0..255
-
- Current neighbour cell rank. Neighbour cells should be ordered (ranked) by the CrowdBox according to neighbour cell RSRP, with a higher RSRP corresponding to a lower index. Hence the neighbouring cell with the highest RSRP should be neighbour cell 0, the second neighbour cell 1, and so on.
-
- -
-
Neighbour Cell RSRP
- R
- Single
- Mandatory
- Integer
- 0..97
-
- Neighbour cell RSRP, as defined in TS 36.133, Section 9.1.4. Range: RSRP_00; RSRP_01 .. RSRP_97
-
- -
-
Neighbour Cell RSRQ
- R
- Single
- Mandatory
- Integer
- -30..46
-
- Neighbour cell RSRQ, as defined in TS 36.133, Section 9.1.7. Range: RSRQ_-30; RSRQ_-29 .. RSRQ_46
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10248.xml b/common/transport/lwm2m/src/main/resources/models/10248.xml
deleted file mode 100644
index 92f2a0a284..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10248.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
- Connected UE Measurements
- This LWM2M Object provides a range of measurements of connected UEs and provides an Object link to the Connected UE report.
- 10248
- urn:oma:lwm2m:x:10248
-
-
- Single
- Optional
-
- -
-
Number of Connected Users
- R
- Single
- Mandatory
- Integer
- 0..255
-
- The number of different UEs currently connected to the eNB (i.e. in RRC_CONNECTED state).
-
- -
-
Cumulative Number of Unique Users
- R
- Single
- Mandatory
- Integer
- 0..65535
-
- The number of different UEs that have connected to the eNB over the immediately preceding period specified by the "Cumulative Measurement Window" field.
-
- -
-
Connected UE Report
- R
- Multiple
- Mandatory
- Objlnk
-
-
- Provides an Object link to the Connected UE Report which provides a range of information related to the connected UEs.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10249.xml b/common/transport/lwm2m/src/main/resources/models/10249.xml
deleted file mode 100644
index ee9e5a9d5a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10249.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
-
-
- Connected UE Report
- This LWM2M Object provides a range of information related to the connected UEs.
- 10249
- urn:oma:lwm2m:x:10249
-
-
- Multiple
- Optional
-
- -
-
Connected User MMEC
- R
- Single
- Mandatory
- Integer
- 0..255
-
- MMEC signalled by the UE to the eNB in the RRCConnectionRequest message (see TS 36.331).
-
- -
-
Connected User M-TMSI
- R
- Single
- Mandatory
- Integer
- 0..2^32-1
-
- M-TMSI signalled by the UE to the eNB in the RRCConnectionRequest message (see TS 36.331).
-
- -
-
Serving Cell (CrowdBox) eNB RSRP
- R
- Single
- Mandatory
- Integer
- 0..97
-
- The RSRP of the CrowdBox eNB, as defined in TS 36.133, Section 9.1.4. Range: RSRP_00; RSRP_01 .. RSRP_97
-
- -
-
Serving Cell (CrowdBox) eNB RSRQ
- R
- Single
- Mandatory
- Integer
- -30..46
-
- The RSRQ of the CrowdBox eNB, as defined in TS 36.133, Section 9.1.7. Range: RSRQ_-30; RSRQ_-29 .. RSRQ_46
-
- -
-
Cumulative Timing Advance per Connected User
- R
- Single
- Optional
- Integer
- 0..65535
-
- The cumulative timing advance signalled by the eNB to each currently connected UE. This is the sum of the initial timing advance signalled in the MAC payload of the Random Access Response (11 bits, 0 .. 1282) and subsequent adjustments signalled in the MAC PDU of DL-SCH transmissions (6 bits, -31 .. 32). See TS 36.321 for details.
-
- -
-
Last downlink CQI report per Connected User
- R
- Single
- Mandatory
- Integer
- 0..255
-
- The last downlink wideband CQI reported by a connected user the eNB. The CQI format is defined in Table 7.2.3-1 of TS 36.213.
-
- -
-
Cumulative Downlink Throughput per Connected User
- R
- Single
- Mandatory
- Integer
- 0..2^32-1
- B
- The total number of MAC bytes sent to the connected user over the immediately preceding period specified by the "Cumulative Measurement Window" field.
-
- -
-
Cumulative Uplink Throughput per Connected User
- R
- Single
- Mandatory
- Integer
- 0..2^32-1
- B
- The total number of MAC bytes received from the connected user over the immediately preceding period specified by the "Cumulative Measurement Window" field.
-
- -
-
Neighbour Cell Report
- R
- Multiple
- Mandatory
- Objlnk
-
-
- A link to the "Neighbour Cell Report" object for each neighbour cell reported to the CrowdBox by the connected UE
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10250.xml b/common/transport/lwm2m/src/main/resources/models/10250.xml
deleted file mode 100644
index a29eda5005..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10250.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
- App Data Container
-
- 10250
- urn:oma:lwm2m:x:10250
- 1.0
- 1.0
- Single
- Optional
-
- -
-
UL data
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
DL data
- W
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10251.xml b/common/transport/lwm2m/src/main/resources/models/10251.xml
deleted file mode 100644
index 3fb1c00154..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10251.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
- AT Command
-
- 10251
- urn:oma:lwm2m:x:10251
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Command
- RW
- Single
- Mandatory
- String
-
-
-
-
- -
-
Response
- R
- Multiple
- Mandatory
- String
-
-
-
-
- -
-
Status
- R
- Multiple
- Mandatory
- String
-
-
-
-
- -
-
Timeout
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Run
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10252.xml b/common/transport/lwm2m/src/main/resources/models/10252.xml
deleted file mode 100644
index ddaf7cb1f2..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10252.xml
+++ /dev/null
@@ -1,229 +0,0 @@
-
-
-
-
- Manifest
-
- 10252
- urn:oma:lwm2m:x:10252
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Manifest
- W
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
State
- R
- Single
- Mandatory
- Integer
- 0..8
-
-
-
-
- -
-
Manifest Result
- R
- Single
- Mandatory
- Integer
- 0..19
-
-
-
-
- -
-
Payload Result
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
Asset Hash
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
Manifest version
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
- -
-
Asset Installation Progress
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
- -
-
Campaign Id
- RW
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Manual Trigger
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10253.xml b/common/transport/lwm2m/src/main/resources/models/10253.xml
deleted file mode 100644
index 27da37d16a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10253.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
-
- Confidential Data
-
- 10253
- urn:oma:lwm2m:x:10253
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Public Key
- RW
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
Application Data
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10254.xml b/common/transport/lwm2m/src/main/resources/models/10254.xml
deleted file mode 100644
index 706e1470aa..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10254.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
- Current Loop Input
-
- 10254
- urn:oma:lwm2m:x:10254:1.0
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Current Loop Input Current Value
- R
- Single
- Mandatory
- Float
- 0; 3.8-20.5
- mA
-
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
-
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
-
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10255.xml b/common/transport/lwm2m/src/main/resources/models/10255.xml
deleted file mode 100644
index fd63016952..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10255.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
- Device Metadata
-
- 10255
- urn:oma:lwm2m:x:10255
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Protocol supported
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
- -
-
Bootloader hash
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
OEM bootloader hash
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
Vendor
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Class
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Device
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10256.xml b/common/transport/lwm2m/src/main/resources/models/10256.xml
deleted file mode 100644
index 77d49f223e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10256.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
- ECID-Signal Measurement Information
-
- 10256
- urn:oma:lwm2m:x:10256
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
physCellId
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
- -
-
ECGI
- R
- Single
- Optional
- Integer
-
-
-
-
-
-
- -
-
arfcnEUTRA
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
- -
-
rsrp-Result
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
- -
-
rsrq-Result
- R
- Single
- Optional
- Integer
-
-
-
-
-
-
- -
-
ue-RxTxTimeDiff
- R
- Single
- Optional
- Integer
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10257.xml b/common/transport/lwm2m/src/main/resources/models/10257.xml
deleted file mode 100644
index 64c26f5908..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10257.xml
+++ /dev/null
@@ -1,275 +0,0 @@
-
-
-
- Heat / Cooling meter
-
- 10257
- urn:oma:lwm2m:x:10257
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Model Number
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Serial Number
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Description
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Error code
- R
- Multiple
- Optional
- Integer
-
-
-
-
-
- -
-
Instantaneous active power
- R
- Single
- Optional
- Float
-
- W
-
-
- -
-
Max Measured active power
- R
- Multiple
- Mandatory
- Float
-
- W
-
-
- -
-
Cumulative active power
- R
- Single
- Optional
- Float
-
- Wh
-
-
- -
-
Flow temperature
- R
- Single
- Optional
- Float
-
- Cel
-
-
- -
-
Max Measured flow temperature
- R
- Single
- Optional
- Float
-
- Cel
-
-
- -
-
Return temperature
- R
- Single
- Optional
- Float
-
- Cel
-
-
- -
-
Max Measured return temperature
- R
- Single
- Optional
- Float
-
- Cel
-
-
- -
-
Temperature difference
- R
- Single
- Optional
- Float
-
- K
-
-
- -
-
Flow rate
- R
- Single
- Optional
- Float
-
- m3/s
-
-
- -
-
Max Measured flow
- R
- Single
- Optional
- Float
-
- m3/s
-
-
- -
-
Flow volume
- R
- Single
- Optional
- Float
-
- m3
-
-
- -
-
Return volume
- R
- Single
- Optional
- Float
-
- m3
-
-
- -
-
Current Time
- RW
- Single
- Optional
- Time
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10258.xml b/common/transport/lwm2m/src/main/resources/models/10258.xml
deleted file mode 100644
index 3fbf7c7c54..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10258.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
- Current Loop Output
-
- 10258
- urn:oma:lwm2m:x:10258
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Current Loop Output Current Value
- RW
- Single
- Mandatory
- Float
- 3.8-20.5
- mA
-
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
-
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10259.xml b/common/transport/lwm2m/src/main/resources/models/10259.xml
deleted file mode 100644
index d75869a122..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10259.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
-
-
-
- System Log
-
- 10259
- urn:oma:lwm2m:x:10259
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Read All
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Read
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Enabled
- RW
- Single
- Optional
- Boolean
-
-
-
-
-
-
- -
-
Capture Level
- RW
- Single
- Optional
- Integer
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10260-2_0.xml b/common/transport/lwm2m/src/main/resources/models/10260-2_0.xml
deleted file mode 100644
index 5cd084af73..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10260-2_0.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
- RDB
-
- 10260
- urn:oma:lwm2m:x:10260:2.0
- 1.0
- 2.0
- Multiple
- Optional
-
- -
-
Key
- RW
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Value
- RW
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Exists
- RW
- Single
- Optional
- Boolean
-
-
-
-
-
-
- -
-
Persistent
- RW
- Single
- Optional
- Boolean
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10262.xml b/common/transport/lwm2m/src/main/resources/models/10262.xml
deleted file mode 100644
index 7b2e170c9b..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10262.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
- Interval Data Delivery
-
- 10262
- urn:oma:lwm2m:x:10262
- Multiple
- Optional
-
- -
-
Name
- RW
- Single
- Mandatory
- String
-
-
-
-
- -
-
Interval Data Links
- RW
- Multiple
- Mandatory
- Objlnk
-
-
-
-
- -
-
Latest Payload
- R
- Multiple
- Mandatory
- Opaque
-
-
-
-
- -
-
Schedule
- RW
- Single
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10263.xml b/common/transport/lwm2m/src/main/resources/models/10263.xml
deleted file mode 100644
index 5e18f44244..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10263.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
- Event Data Delivery
-
- 10263
- urn:oma:lwm2m:x:10263
- Multiple
- Optional
-
- -
-
Name
- RW
- Single
- Mandatory
- String
-
-
-
-
- -
-
Event Data Links
- RW
- Multiple
- Mandatory
- Objlnk
-
-
-
-
- -
-
Latest Eventlog
- R
- Multiple
- Mandatory
- Opaque
-
-
-
-
- -
-
Schedule
- RW
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10264.xml b/common/transport/lwm2m/src/main/resources/models/10264.xml
deleted file mode 100644
index eeaad07447..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10264.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
- Delivery Schedule
-
- 10264
- urn:oma:lwm2m:x:10264
- Multiple
- Optional
-
- -
-
Schedule Start Time
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Schedule UTC Offset
- RW
- Single
- Mandatory
- String
-
-
-
-
- -
-
Delivery Frequency
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Randomised Delivery Window
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Number of Retries
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Retry Period
- RW
- Single
- Optional
- Integer
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10265.xml b/common/transport/lwm2m/src/main/resources/models/10265.xml
deleted file mode 100644
index 26657bb754..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10265.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
-
-
-
- Leakage Detection Configuration
-
- 10265
- urn:oma:lwm2m:x:10265
- Single
- Optional
-
- -
-
Sample Times
- RW
- Multiple
- Mandatory
- Integer
-
-
-
-
- -
-
Sample UTC Offset
- RW
- Single
- Optional
- String
-
-
-
-
- -
-
Detection Mode
- RW
- Single
- Mandatory
- Integer
- 0..3
-
-
-
- -
-
Top Frequency Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Frequency Thresholds
- RW
- Multiple
- Optional
- Integer
- 0..999
-
-
-
- -
-
Frequency Values
- R
- Multiple
- Optional
- Integer
-
-
-
-
- -
-
Firmware Version
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10266.xml b/common/transport/lwm2m/src/main/resources/models/10266.xml
deleted file mode 100644
index 57f7285b84..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10266.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
- Water Flow Readings
-
- 10266
- urn:oma:lwm2m:x:10266
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10267.xml b/common/transport/lwm2m/src/main/resources/models/10267.xml
deleted file mode 100644
index 3c6734723f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10267.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
- Daily Maximum Flow Rate Readings
-
- 10267
- urn:oma:lwm2m:x:10267
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10268.xml b/common/transport/lwm2m/src/main/resources/models/10268.xml
deleted file mode 100644
index 9a6d06262e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10268.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
- Temperature Readings
-
- 10268
- urn:oma:lwm2m:x:10268
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10269.xml b/common/transport/lwm2m/src/main/resources/models/10269.xml
deleted file mode 100644
index 648227a7d7..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10269.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
- Pressure Readings
-
- 10269
- urn:oma:lwm2m:x:10269
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10270.xml b/common/transport/lwm2m/src/main/resources/models/10270.xml
deleted file mode 100644
index 69e3e7e5f3..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10270.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
- Battery Level Readings
-
- 10270
- urn:oma:lwm2m:x:10270
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10271.xml b/common/transport/lwm2m/src/main/resources/models/10271.xml
deleted file mode 100644
index f33a3d27e6..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10271.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
- Communications Activity Time Readings
-
- 10271
- urn:oma:lwm2m:x:10271
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10272.xml b/common/transport/lwm2m/src/main/resources/models/10272.xml
deleted file mode 100644
index d70236947b..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10272.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Water Meter Customer Leakage Alarm
-
- 10272
- urn:oma:lwm2m:x:10272
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10273.xml b/common/transport/lwm2m/src/main/resources/models/10273.xml
deleted file mode 100644
index 55404b38d5..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10273.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Water Meter Reverse Flow Alarm
-
- 10273
- urn:oma:lwm2m:x:10273
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10274.xml b/common/transport/lwm2m/src/main/resources/models/10274.xml
deleted file mode 100644
index e0f9de62dc..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10274.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Water Meter Empty Pipe Alarm
-
- 10274
- urn:oma:lwm2m:x:10274
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10275.xml b/common/transport/lwm2m/src/main/resources/models/10275.xml
deleted file mode 100644
index d0bc4dd350..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10275.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Water Meter Tamper Alarm
-
- 10275
- urn:oma:lwm2m:x:10275
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10276.xml b/common/transport/lwm2m/src/main/resources/models/10276.xml
deleted file mode 100644
index 24f0e0056a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10276.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Water Meter High Pressure Alarm
-
- 10276
- urn:oma:lwm2m:x:10276
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10277.xml b/common/transport/lwm2m/src/main/resources/models/10277.xml
deleted file mode 100644
index 07e431b9da..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10277.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Water Meter Low Pressure Alarm
-
- 10277
- urn:oma:lwm2m:x:10277
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10278.xml b/common/transport/lwm2m/src/main/resources/models/10278.xml
deleted file mode 100644
index 9070e1c70e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10278.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- High Temperature Alarm
-
- 10278
- urn:oma:lwm2m:x:10278
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10279.xml b/common/transport/lwm2m/src/main/resources/models/10279.xml
deleted file mode 100644
index 6eef195800..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10279.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Low Temperature Alarm
-
- 10279
- urn:oma:lwm2m:x:10279
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10280.xml b/common/transport/lwm2m/src/main/resources/models/10280.xml
deleted file mode 100644
index 0fe4976077..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10280.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Water Network Leak Alarm
-
- 10280
- urn:oma:lwm2m:x:10280
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10281.xml b/common/transport/lwm2m/src/main/resources/models/10281.xml
deleted file mode 100644
index a02a83e348..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10281.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Low Battery Alarm
-
- 10281
- urn:oma:lwm2m:x:10281
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10282.xml b/common/transport/lwm2m/src/main/resources/models/10282.xml
deleted file mode 100644
index d7c97729b8..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10282.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Daughter Board Failure Alarm
-
- 10282
- urn:oma:lwm2m:x:10282
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10283.xml b/common/transport/lwm2m/src/main/resources/models/10283.xml
deleted file mode 100644
index 6e4df48342..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10283.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Device Reboot Event
-
- 10283
- urn:oma:lwm2m:x:10283
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10284.xml b/common/transport/lwm2m/src/main/resources/models/10284.xml
deleted file mode 100644
index 964df21df9..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10284.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
- Time Synchronisation Event
-
- 10284
- urn:oma:lwm2m:x:10284
- Multiple
- Optional
-
- -
-
Event Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Alarm Realtime
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Alarm State
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Alarm Set Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Set Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Clear Threshold
- RW
- Single
- Optional
- Float
-
-
-
-
- -
-
Alarm Clear Operator
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Count
- RW
- Single
- Optional
- Integer
-
-
-
-
- -
-
Alarm Maximum Event Period
- RW
- Single
- Optional
- Integer
- 1..864000
- s
-
-
- -
-
Latest Delivered Event Time
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Event Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Alarm Clear
- E
- Single
- Optional
-
-
-
-
-
- -
-
Alarm Auto Clear
- RW
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Event Code
- R
- Single
- Mandatory
- Integer
- 100..255
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10286.xml b/common/transport/lwm2m/src/main/resources/models/10286.xml
deleted file mode 100644
index 39e0809788..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10286.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
- App Fota Container
-
- 10286
- urn:oma:lwm2m:x:10286
- 1.0
- 1.0
- Single
- Optional
-
- -
-
UL data
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
- -
-
DL data
- W
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10290.xml b/common/transport/lwm2m/src/main/resources/models/10290.xml
deleted file mode 100644
index 7b89cc06c0..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10290.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-
-
-
-
-
-
- Voltage Logging
-
- 10290
- urn:oma:lwm2m:x:10290
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10291.xml b/common/transport/lwm2m/src/main/resources/models/10291.xml
deleted file mode 100644
index a232ed02f9..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10291.xml
+++ /dev/null
@@ -1,208 +0,0 @@
-
-
-
-
-
-
- Voltage Transient
-
- 10291
- urn:oma:lwm2m:x:10291
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Mandatory
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
- -
-
Sample Frequency
- RW
- Single
- Mandatory
- Float
- 0.0..86400.0
- s
- How often the inputs are read/sampled.This value can be changed by doing a write command
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10292.xml b/common/transport/lwm2m/src/main/resources/models/10292.xml
deleted file mode 100644
index 00fe33e320..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10292.xml
+++ /dev/null
@@ -1,208 +0,0 @@
-
-
-
-
-
-
- Pressure Transient
-
- 10292
- urn:oma:lwm2m:x:10292
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Mandatory
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
- -
-
Sample Frequency
- RW
- Single
- Mandatory
- Float
- 0.0..86400.0
- s
- How often the inputs are read/sampled.This value can be changed by doing a write command
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10299.xml b/common/transport/lwm2m/src/main/resources/models/10299.xml
deleted file mode 100644
index 2c4ea4d2db..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10299.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
- HostDevice
- This LWM2M Object provides a range of host device related information which can be queried by the LWM2M Server. The host device is any integrated device with an embedded cellular radio module.
- 10299
- urn:oma:lwm2m:x:10299
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Manufacturer
- R
- Single
- Mandatory
- String
-
-
- Host device manufacturers name (OEM).
-
- -
-
Model
- R
- Single
- Mandatory
- String
-
- Identifier of the model name or number determined by device manufacturer.
- UniqueID
- R
- Single
- Mandatory
- String
-
-
- Unique ID assigned by an manufacturer or other body. Used to uniquely identify a host device. Examples include serial # or UUID.
-
- -
-
FirmwareVersion
- R
- Single
- Mandatory
- String
-
-
- Current Firmware version of the host device. (manufacturer specified string).
- -
-
SoftwareVersion
- R
- Single
- Optional
- String
-
-
- Current software version of the host device. (manufacturer specified string).
- -
-
HardwareVersion
- R
- Single
- Optional
- String
-
-
- Current hardware version of the host device. (manufacturer specified string).
-
- -
-
DateStamp
- R
- Single
- Optional
- String
-
-
- UTC value of the time and date of the last Firmware or Software update. Format:MM:DD:YYYY HH:MM:SS
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10300.xml b/common/transport/lwm2m/src/main/resources/models/10300.xml
deleted file mode 100644
index b290057806..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10300.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-
-
- LWM2M Meta Object
-
-
-
- 10300
- urn:oma:lwm2m:x:10300
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
ObjectID
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
- -
-
ObjectURN
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
ObjectInstanceHandle
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
URI
- R
- Multiple
- Mandatory
- String
-
-
-
-
-
-
- -
-
SHAType
- R
- Single
- Optional
- Integer
- 0..8
-
-
-
-
-
- -
-
ChecksumValue
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10308-2_0.xml b/common/transport/lwm2m/src/main/resources/models/10308-2_0.xml
deleted file mode 100644
index 0ed1a6ea30..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10308-2_0.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
-
-
-
- AT&T Connectivity Extension
-
- 10308
- urn:oma:lwm2m:x:10308:2.0
- 1.0
- 2.0
- Multiple
- Optional
-
- -
-
ICCID
- R
- Single
- Mandatory
- String
-
-
-
-
-
- -
-
IMSI
- R
- Single
- Mandatory
- String
-
-
-
-
-
- -
-
MSISDN
- RW
- Single
- Mandatory
- String
-
-
-
-
-
- -
-
APN Retries
- RW
- Single
- Mandatory
- Integer
-
-
-
-
-
- -
-
APN Retry Period
- RW
- Single
- Mandatory
- Integer
-
-
- s
-
-
- -
-
APN Retry Back-Off Period
- RW
- Single
- Mandatory
- Integer
-
-
- s
-
-
- -
-
SINR
- R
- Single
- Mandatory
- Integer
- <7 to >12.5
-
-
-
- -
-
SRXLEV
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
- -
-
CE_LEVEL
- R
- Single
- Mandatory
- Integer
- 0,1,2
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10309.xml b/common/transport/lwm2m/src/main/resources/models/10309.xml
deleted file mode 100644
index 333580200e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10309.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
-
- Shareparkinglot
-
- 10309
- urn:oma:lwm2m:x:10309
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
LockID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
LockType
- R
- Single
- Optional
- String
-
-
-
-
- -
-
LightSwitchState
- R
- Multiple
- Optional
- Boolean
-
-
-
-
- -
-
RSSI
- R
- Multiple
- Mandatory
- Integer
- -30..-120
- dBm
-
-
- -
-
BatteryCapacity
- R
- Multiple
- Optional
- Float
- 0..100
- %EL
-
-
- -
-
DataUpTime
- R
- Multiple
- Mandatory
- Time
-
-
-
-
- -
-
Latitude
- R
- Multiple
- Optional
- String
-
-
-
-
- -
-
Longitude
- R
- Multiple
- Optional
- String
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10311.xml b/common/transport/lwm2m/src/main/resources/models/10311.xml
deleted file mode 100644
index e622197164..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10311.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
- Solar Radiation
-
- This object is used to report solar irradiance (SI), i.e. power per unit area received from the Sun in the form of electromagnetic radiation, on a planar surface measured by a pyranometer or similar instrument. A pyranometer measures solar irradiance from the hemisphere above within a wavelength range 0.3 μm to 3 μm. For example, the application of solar radiation measurement can be meteorological networks and solar energy applications.
-
- 10311
- urn:oma:lwm2m:x:10311
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
-
- The minimum value measured by the sensor since it is ON or Reset, expressed in the unit defined by the "Sensor Units" resource if present.
-
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
-
- The maximum value measured by the sensor since it is ON or Reset, expressed in the unit defined by the "Sensor Units" resource if present.
-
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
-
- The minimum value that can be measured by the sensor, expressed in the unit defined by the "Sensor Units" resource if present.
-
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
-
- The maximum value that can be measured by the sensor, expressed in the unit defined by the "Sensor Units" resource if present.
-
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
-
- Reset the Min and Max Measured Values to current value.
-
-
- -
-
Timestamp
- R
- Single
- Optional
- Time
-
-
- The timestamp of when the measurement was performed.
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor expressed in the unit defined by the "Sensor Units" resource if present.
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
-
- Measurement Units Definition.
-
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
-
- The application type of the sensor or actuator as a string, for instance "Air Pressure".
-
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10313.xml b/common/transport/lwm2m/src/main/resources/models/10313.xml
deleted file mode 100644
index 4875e5d6b0..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10313.xml
+++ /dev/null
@@ -1,253 +0,0 @@
-
-
-
-
-
-
- Gas Readings
-
- 10313
- urn:oma:lwm2m:x:10313 1.0
- 1.0 Multiple
- Optional
-
- -
-
Interval Period
- R
- Single
- Mandatory
- Integer
- 1..864000
- s
-
-
- -
-
Interval Start Offset
- R
- Single
- Optional
- Integer
- 0..86399
- s
-
-
- -
-
Interval UTC Offset
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Interval Collection Start Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Oldest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Last Delivered Interval
- RW
- Single
- Optional
- Time
-
-
-
-
- -
-
Latest Recorded Interval
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Interval Delivery Midnight Aligned
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Interval Historical Read
- E
- Single
- Optional
-
-
-
-
-
- -
-
Interval Historical Read Payload
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Interval Change Configuration
- E
- Single
- Optional
-
-
-
-
-
- -
-
Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Status
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Latest Payload
- R
- Single
- Mandatory
- Opaque
-
-
-
-
- -
-
Sensor Warm-up Time
- RW
- Single
- Optional
- Integer
- 0..86400
- s
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10314.xml b/common/transport/lwm2m/src/main/resources/models/10314.xml
deleted file mode 100644
index 69f344ea34..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10314.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
-
- Particulates
-
- 10314
- urn:oma:lwm2m:x:10314
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
-
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
-
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The Application type of the device, for example “Particulate Sensor”.
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
-
-
- -
-
Measured Particle Size
- R
- Single
- Mandatory
- Float
-
- m
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10315.xml b/common/transport/lwm2m/src/main/resources/models/10315.xml
deleted file mode 100644
index fcca456342..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10315.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
- Robot
-
- 10315
- urn:oma:lwm2m:x:10315
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
Robot ID
- R
- Single
- Mandatory
- String
- 0..255
-
-
-
- -
-
Robot Type
- R
- Single
- Mandatory
- String
- 0..63
-
-
-
- -
-
Robot Serial Number
- R
- Single
- Mandatory
- String
- 0..63
-
-
-
- -
-
Battery Level
- R
- Single
- Mandatory
- Integer
- 0..100
- %
-
-
- -
-
Charging
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
On time
- RW
- Single
- Mandatory
- Integer
-
- s
-
-
- -
-
Positioning
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Location
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10316.xml b/common/transport/lwm2m/src/main/resources/models/10316.xml
deleted file mode 100644
index 011055fde3..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10316.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
-
-
-
- RCU
-
- 10316
- urn:oma:lwm2m:x:10316
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
RCU ID
- R
- Single
- Mandatory
- String
- 0..127
-
-
-
- -
-
RCU Serial Number
- R
- Single
- Mandatory
- String
- 0..63
-
-
-
- -
-
RCU Software Version
- R
- Single
- Mandatory
- String
- 0..63
-
-
-
- -
-
RCU OS Version
- R
- Single
- Mandatory
- String
- 0..127
-
-
-
- -
-
RCU CPU Info
- R
- Single
- Mandatory
- String
- 64
-
-
-
- -
-
RCU RAM Info
- R
- Single
- Mandatory
- String
- 64
-
-
-
- -
-
RCU ROM Size
- R
- Single
- Mandatory
- Integer
-
- GB
-
-
- -
-
RCU ROM Available Size
- R
- Single
- Mandatory
- Integer
-
- GB
-
-
- -
-
SD Storage
- R
- Single
- Mandatory
- Integer
-
- GB
-
-
- -
-
SD Available Storage
- R
- Single
- Mandatory
- Integer
-
- GB
-
-
- -
-
RCU GPS Location
- R
- Single
- Optional
- Objlnk
-
-
-
-
- -
-
Wi-Fi MAC
- R
- Single
- Optional
- String
- 12
-
-
-
- -
-
Bluetooth MAC
- R
- Single
- Optional
- String
- 12
-
-
-
- -
-
Camera Info
- R
- Single
- Optional
- String
- 64
-
-
-
-
- -
-
Battery Level
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
-
- -
-
On time
- RW
- Single
- Mandatory
- Integer
-
- s
-
-
-
- -
-
Downloaded APP Packages
- R
- Multiple
- Mandatory
- String
-
-
-
-
-
- -
-
RCU APPs
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10318.xml b/common/transport/lwm2m/src/main/resources/models/10318.xml
deleted file mode 100644
index 989db0de7e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10318.xml
+++ /dev/null
@@ -1,189 +0,0 @@
-
-
-
-
-
- RCU PM
-
- 10318
- urn:oma:lwm2m:x:10318
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
CPU Usage
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- -
-
Max CPU Usage
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- -
-
Memory Usage
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- -
-
Storage Usage
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
-
- -
-
Battery Level
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- -
-
Network Bandwidth
- R
- Single
- Mandatory
- Float
-
- Mbit/s
-
-
- -
-
Mobile Signal
- R
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
GPS Signal
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Wi-Fi Signal
- R
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
UpLink Rate
- R
- Single
- Mandatory
- Float
-
- Mbit/s
-
-
- -
-
DownLink Rate
- R
- Single
- Mandatory
- Float
-
- Mbit/s
-
-
- -
-
Packet Loss Rate
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
- -
-
Network Latency
- R
- Single
- Mandatory
- Integer
-
- ms
-
-
-
- -
-
Battery Temperature
- R
- Single
- Mandatory
- Float
-
- Cel
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10319.xml b/common/transport/lwm2m/src/main/resources/models/10319.xml
deleted file mode 100644
index b8ebcef6fb..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10319.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
-
- RCU Control
-
- 10319
- urn:oma:lwm2m:x:10319
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
RCU Diagnostics Mode
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
RCU Log Recording
- R
- Single
- Optional
- Boolean
-
-
-
-
-
- -
-
RCU Shutdown
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
RCU Restart
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
RCU Deactivate
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
RCU Reset
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
RCU Diagnostics Mode Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
RCU Log Recording Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10320.xml b/common/transport/lwm2m/src/main/resources/models/10320.xml
deleted file mode 100644
index 2b46d7c920..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10320.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
-
-
-
- CCU
-
- 10320
- urn:oma:lwm2m:x:10320
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
CCU ID
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
CCU FM Version
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
CCU SW Version
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
CCU Memory Size
- R
- Single
- Mandatory
- Integer
-
- GB
-
-
- -
-
CCU Storage
- R
- Single
- Mandatory
- Integer
-
- GB
-
-
- -
-
CCU Available Storage
- R
- Single
- Mandatory
- Integer
-
- GB
-
-
-
- -
-
On time
- RW
- Single
- Mandatory
- Integer
-
- s
-
-
-
- -
-
Downloaded APP Packages
- R
- Multiple
- Optional
- String
-
-
-
-
- -
-
CCU APPs
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10322.xml b/common/transport/lwm2m/src/main/resources/models/10322.xml
deleted file mode 100644
index 98822e0efe..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10322.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
- CCU PM
-
- 10322
- urn:oma:lwm2m:x:10322
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
CPU Usage
- R
- Single
- Optional
- Integer
- 0..100
- %
-
-
- -
-
Max CPU Usage
- R
- Single
- Optional
- Integer
- 0..100
- %
-
-
- -
-
Memory Usage
- R
- Single
- Optional
- Integer
- 0..100
- %
-
-
- -
-
Storage Usage
- R
- Single
- Optional
- Integer
- 0..100
- %
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10323.xml b/common/transport/lwm2m/src/main/resources/models/10323.xml
deleted file mode 100644
index dcbdaeb91d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10323.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
- CCU Control
-
- 10323
- urn:oma:lwm2m:x:10323
- 1.0
- 1.0
- Multiple
- Optional
-
-
- -
-
CCU Restart
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
CCU Reset
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
CCU Self-checking
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10324.xml b/common/transport/lwm2m/src/main/resources/models/10324.xml
deleted file mode 100644
index e78bb099de..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10324.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
- ECU
-
- 10324
- urn:oma:lwm2m:x:10324
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
ECU ID
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
ECU FM Version
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
On time
- RW
- Single
- Mandatory
- Integer
-
- s
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10326.xml b/common/transport/lwm2m/src/main/resources/models/10326.xml
deleted file mode 100644
index 353e549829..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10326.xml
+++ /dev/null
@@ -1,722 +0,0 @@
-
-
-
-
-
- Robot PM
-
- 10326
- urn:oma:lwm2m:x:10326
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
Battery Level
- R
- Single
- Mandatory
- Integer
- 0..100
- /100
-
-
-
- -
-
Battery Temperature
- R
- Single
- Mandatory
- Integer
-
- Cel
-
-
- -
-
Temperature
- R
- Single
- Optional
- Float
-
- Cel
-
-
- -
-
Humidity
- R
- Single
- Optional
- Integer
- 0..100
- /100
-
-
- -
-
PM2.5
- R
- Single
- Optional
- Integer
-
- ug/m3
-
-
- -
-
Smog
- R
- Single
- Optional
- Float
-
- ug/m3
-
-
- -
-
CO
- R
- Single
- Optional
- Float
-
- ppm
-
-
- -
-
CO2
- R
- Single
- Optional
- Float
-
- ppm
-
-
- -
-
PM10
- R
- Single
- Optional
- Integer
-
- ug/m3
-
-
- -
-
Speed
- R
- Single
- Optional
- Float
-
- m/h
-
-
- -
-
Water Used
- R
- Single
- Optional
- Integer
- 0..100
- /100
-
-
- -
-
Dust Box Used
- R
- Single
- Optional
- Integer
- 0..100
- /100
-
-
- -
-
Obstacle Distance
- R
- Single
- Optional
- Integer
-
- cm
-
-
-
- -
-
Robot Temperate
- R
- Single
- Optional
- Float
-
- Cel
-
-
- -
-
Confidence Index
- R
- Single
- Optional
- Integer
- 0..100
- /100
-
-
-
- -
-
Data Traffic Used
- R
- Single
- Mandatory
- Float
-
- Mbit/s
-
-
- -
-
Images Handled
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
HARI S-Voice Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
HARI S-Vision Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
HARI S-Motion Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
HARI S-Map Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Successful HARI S-Voice Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Successful HARI S-Vision Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Successful HARI S-Motion Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Successful HARI S-Map Requests
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Questions Answered
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Unknown Questions
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Mileage
- R
- Single
- Optional
- Integer
-
- m
-
-
- -
-
Cleaned Times
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Cleaned Area
- R
- Single
- Optional
- Float
-
- m2
-
-
- -
-
Cleaned Time
- R
- Single
- Optional
- Integer
-
- s
-
-
- -
-
ASR Recognized
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Incorrect ASR Recognitions
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
ASR Recognized (CH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts (CH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts (CH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
ASR Recognized (EN)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts (EN)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts (EN)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
ASR Recognized (ES)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts (ES)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts (ES)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
ASR Recognized (JA)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts (JA)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts (JA)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
ASR Recognized (SCCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts (SCCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts (SCCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
ASR Recognized (GDCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts (GDCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts (GDCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
ASR Recognized (TCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Tried TTS Texts (TCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
- -
-
Successful TTS Texts (TCH)
- R
- Single
- Optional
- Integer
-
- B
-
-
-
- -
-
Objects Recognition Tries
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Successful Object Recognition
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Face Recognition Tries
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Successful Face Recognitions
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Vehicle Plate Recognition Tries
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Successful Vehicle Plate Recognitions
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Tasks Assigned
- R
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Successful Tasks Executed
- R
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Images Uploaded
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Videos Uploaded
- R
- Single
- Optional
- Integer
-
-
-
-
- -
-
Images Matted
- R
- Single
- Optional
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10327.xml b/common/transport/lwm2m/src/main/resources/models/10327.xml
deleted file mode 100644
index 5f0e232a22..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10327.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
- Compressor
-
- 10327
- urn:oma:lwm2m:x:10327
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Compressor Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
- -
-
Compressor Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10328.xml b/common/transport/lwm2m/src/main/resources/models/10328.xml
deleted file mode 100644
index fdf39d5dc1..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10328.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
- SCA PM
-
- 10328
- urn:oma:lwm2m:x:10328
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
SCA Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
- -
-
SCA Current
- R
- Single
- Mandatory
- Float
-
- A
-
-
- -
-
SCA Temperate
- R
- Single
- Mandatory
- Float
-
- Cel
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10329.xml b/common/transport/lwm2m/src/main/resources/models/10329.xml
deleted file mode 100644
index 7470bec6e1..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10329.xml
+++ /dev/null
@@ -1,433 +0,0 @@
-
-
-
-
-
- Robot Control
-
- 10329
- urn:oma:lwm2m:x:10329
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
Collision Detection
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Drop Detection
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Automatic Navigation
- R
- Single
- Optional
- Boolean
-
-
-
-
- -
-
Robot Shutdown
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Robot Reboot
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Robot Reset
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Robot Wakeup
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Robot Sleep
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Robot Self-checking
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Emergency Braking
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Emergency Braking Release
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Action Execution
- E
- Single
- Optional
-
-
-
-
-
- -
-
Action List Upload
- E
- Single
- Optional
-
-
-
-
-
- -
-
Action List Download
- E
- Single
- Optional
-
-
-
-
-
- -
-
Group Dancing Program Control
- E
- Single
- Optional
-
-
-
-
-
- -
-
Navigation Map Upload
- E
- Single
- Optional
-
-
-
-
-
- -
-
Group Dancing Program Control
- E
- Single
- Optional
-
-
-
-
-
- -
-
Navigation Map Download
- E
- Single
- Optional
-
-
-
-
-
- -
-
Route list Execution
- E
- Single
- Optional
-
-
-
-
-
- -
-
Route list Upload
- E
- Single
- Optional
-
-
-
-
-
- -
-
Route list Download
- E
- Single
- Optional
-
-
-
-
-
- -
-
Automatic Navigation Control
- E
- Single
- Optional
-
-
-
-
-
- -
-
Manual Navigation
- E
- Single
- Optional
-
-
-
-
-
- -
-
Moving to Charging Station
- E
- Single
- Optional
-
-
-
-
-
- -
-
Moving to Specified location
- E
- Single
- Optional
-
-
-
-
-
- -
-
Low Frequency Patrol Broadcasting
- E
- Single
- Optional
-
-
-
-
-
- -
-
Task Start
- E
- Single
- Optional
-
-
-
-
-
- -
-
Task Stop
- E
- Single
- Optional
-
-
-
-
-
- -
-
Task Suspend
- E
- Single
- Optional
-
-
-
-
-
- -
-
Task Resume
- E
- Single
- Optional
-
-
-
-
-
- -
-
Video Upload
- E
- Single
- Optional
-
-
-
-
-
- -
-
Picture Upload
- E
- Single
- Optional
-
-
-
-
-
- -
-
Default Language Switching
- E
- Single
- Optional
-
-
-
-
-
- -
-
Intonation Change
- E
- Single
- Optional
-
-
-
-
-
- -
-
Intonation Change
- E
- Single
- Optional
-
-
-
-
-
- -
-
Speaking with Action
- E
- Single
- Optional
-
-
-
-
-
- -
-
Collision Detection Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Drop Detection Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10330.xml b/common/transport/lwm2m/src/main/resources/models/10330.xml
deleted file mode 100644
index 75c5a2ecdd..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10330.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
- Network Info
-
- 10330
- urn:oma:lwm2m:x:10330
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
IMEI
- R
- Single
- Mandatory
- String
- 15
-
-
-
- -
-
IMSI
- R
- Single
- Mandatory
- String
- 15
-
-
-
- -
-
Radio Connectivity
- R
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
- -
-
GPS Signal Status
- R
- Single
- Optional
- Integer
- 1..4
-
-
-
- -
-
VBN Connection Status
- R
- Single
- Mandatory
- Integer
- 0..1
-
-
-
- -
-
HARI Connection Status
- R
- Single
- Mandatory
- Integer
- 0..1
-
-
-
- -
-
CCU Connection Status
- R
- Multiple
- Optional
- Integer
- 0..1
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10331.xml b/common/transport/lwm2m/src/main/resources/models/10331.xml
deleted file mode 100644
index ca555cc0d9..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10331.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
-
- Robot Service Info
-
- 10331
- urn:oma:lwm2m:x:10331
- 1.0
- 1.0
- Single
- Mandatory
-
- -
-
Current status
- R
- Single
- Mandatory
- String
- 0..127
-
-
-
- -
-
Services Providing
- R
- Single
- Optional
- String
- 0..127
-
-
-
- -
-
Advertising Contents
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
Current Language
- R
- Single
- Optional
- String
- 0..127
-
-
-
- -
-
Volume
- R
- Single
- Optional
- String
- 0..100
- /100
-
-
- -
-
Moving Status
- R
- Single
- Optional
- Integer
- 0..2
-
-
-
- -
-
Moving Speed
- R
- Single
- Optional
- Float
-
- m/h
-
-
- -
-
Location
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Map List
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Planned Route list
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Current Route
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Route to-do List
- R
- Single
- Optional
- String
-
-
-
-
- -
-
Synchronous Whistle
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Current Actions
- R
- Single
- Optional
- String
-
-
-
-
- -
-
ASR Type
- R
- Single
- Optional
- Integer
- 0..2
-
-
-
-
- -
-
TTS Vendor
- R
- Single
- Optional
- String
-
-
-
-
- -
-
TTS Speaker
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10332.xml b/common/transport/lwm2m/src/main/resources/models/10332.xml
deleted file mode 100644
index 6bda413092..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10332.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
- Robot Selfcheck Info
-
- 10332
- urn:oma:lwm2m:x:10332
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Entity
- R
- Single
- Mandatory
- String
- 4..63
-
-
-
-
-
- -
-
Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10333.xml b/common/transport/lwm2m/src/main/resources/models/10333.xml
deleted file mode 100644
index 3a1f1f6dfa..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10333.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
- PM Threshold
-
- 10333
- urn:oma:lwm2m:x:10333
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Entity
- RW
- Multiple
- Mandatory
- String
- 4..63
-
-
-
- -
-
Performance Type
- RW
- Multiple
- Mandatory
- String
-
-
-
-
- -
-
High Threshold
- RW
- Multiple
- Mandatory
- Float
-
-
-
-
- -
-
Low Threshold
- RW
- Multiple
- Mandatory
- Float
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10334.xml b/common/transport/lwm2m/src/main/resources/models/10334.xml
deleted file mode 100644
index 547fb7a0d5..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10334.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
- Robot Alarm
-
- 10334
- urn:oma:lwm2m:x:10334
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Entity
- R
- Single
- Mandatory
- String
- 4..63
-
-
-
- -
-
Probable Cause
- R
- Single
- Mandatory
- Integer
- 0..65535
-
-
-
- -
-
Specific Problem
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
Alarm Type
- R
- Single
- Mandatory
- Integer
- 2..6
-
-
-
- -
-
Severity
- R
- Single
- Mandatory
- Integer
- 1..5
-
-
-
- -
-
Report Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Sequence No
- R
- Single
- Mandatory
- Integer
- 0..2^63-1
-
-
-
- -
-
Additional Info
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10335.xml b/common/transport/lwm2m/src/main/resources/models/10335.xml
deleted file mode 100644
index 49640154e8..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10335.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
- Event
-
- 10335
- urn:oma:lwm2m:x:10335
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Entity
- R
- Single
- Mandatory
- String
- 4..63
-
-
-
- -
-
Event Type
- R
- Single
- Mandatory
- Integer
- 0..65535
-
-
-
- -
-
Time
- R
- Single
- Mandatory
- Time
-
-
-
-
- -
-
Sequence No
- R
- Single
- Mandatory
- Integer
- 0..2^63-1
-
-
-
- -
-
Additional Info
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10336.xml b/common/transport/lwm2m/src/main/resources/models/10336.xml
deleted file mode 100644
index 74fae1916a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10336.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
- MIC
-
- 10336
- urn:oma:lwm2m:x:10336
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10337.xml b/common/transport/lwm2m/src/main/resources/models/10337.xml
deleted file mode 100644
index 3220c8e3e0..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10337.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
- SCA
-
- 10337
- urn:oma:lwm2m:x:10337
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
SCA Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
-
- -
-
SCA Motion Status
- R
- Single
- Optional
- Integer
- 0..2
-
-
-
-
- -
-
SCA Motion Control
- E
- Single
- Optional
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10338.xml b/common/transport/lwm2m/src/main/resources/models/10338.xml
deleted file mode 100644
index 48213fe176..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10338.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
- Speaker
-
- 10338
- urn:oma:lwm2m:x:10338
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Speaker status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Voice Warning
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
- -
-
Voice Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Voice Warning Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10339.xml b/common/transport/lwm2m/src/main/resources/models/10339.xml
deleted file mode 100644
index d93e5fd778..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10339.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
- Tripod Head
-
- 10339
- urn:oma:lwm2m:x:10339
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Tripod Direction Control
- E
- Single
- Optional
-
-
-
-
-
- -
-
Tripod Automatic Control
- E
- Single
- Optional
-
-
-
-
-
- -
-
Tripod Reset
- E
- Single
- Optional
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10340.xml b/common/transport/lwm2m/src/main/resources/models/10340.xml
deleted file mode 100644
index 30123ba665..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10340.xml
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
-
-
-
- Camera
-
- 10340
- urn:oma:lwm2m:x:10340
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Camera Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Camera Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Connection Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Working Status
- R
- Single
- Mandatory
- Integer
- 0..15
-
-
-
- -
-
Local Recording
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Image Matting
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Camera Snapshot
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Camera Recording
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
- -
-
Camera Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Local Recording Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Image Matting Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Camera Snapshot Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Camera Recording Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10341.xml b/common/transport/lwm2m/src/main/resources/models/10341.xml
deleted file mode 100644
index ca00c3ab0c..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10341.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
- GPS
-
- 10341
- urn:oma:lwm2m:x:10341
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10342.xml b/common/transport/lwm2m/src/main/resources/models/10342.xml
deleted file mode 100644
index 5a2c0d1982..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10342.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
- IMU
-
- 10342
- urn:oma:lwm2m:x:10342
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10343.xml b/common/transport/lwm2m/src/main/resources/models/10343.xml
deleted file mode 100644
index 309c80884d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10343.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
- LiDAR
-
- 10343
- urn:oma:lwm2m:x:10343
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
LiDAR Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10344.xml b/common/transport/lwm2m/src/main/resources/models/10344.xml
deleted file mode 100644
index 9e3f80a491..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10344.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
- Arm
-
- 10344
- urn:oma:lwm2m:x:10344
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Arm Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10345.xml b/common/transport/lwm2m/src/main/resources/models/10345.xml
deleted file mode 100644
index 488ada316f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10345.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
- Leg
-
- 10345
- urn:oma:lwm2m:x:10345
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Leg Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10346.xml b/common/transport/lwm2m/src/main/resources/models/10346.xml
deleted file mode 100644
index f5b22f8763..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10346.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
- Servomotor
-
- 10346
- urn:oma:lwm2m:x:10346
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Servomotor Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10347.xml b/common/transport/lwm2m/src/main/resources/models/10347.xml
deleted file mode 100644
index 7c20b00a40..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10347.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
-
-
- Screen
-
- 10347
- urn:oma:lwm2m:x:10347
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Screen Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Startup Page
- R
- Single
- Optional
- String
-
-
- The Startup Page of the screen.
-
- -
-
Current Displaying Page or Current Screen Play List
- R
- Single
- Optional
- String
-
-
- Current Displaying Page or Current Screen Play List.
-
-
- -
-
Screen Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Startup Page Set
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Screen Page Set
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Screen Play List Set
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10348.xml b/common/transport/lwm2m/src/main/resources/models/10348.xml
deleted file mode 100644
index 3d8a2d460f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10348.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
- Wheel
-
- 10348
- urn:oma:lwm2m:x:10348
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Wheel Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10349.xml b/common/transport/lwm2m/src/main/resources/models/10349.xml
deleted file mode 100644
index 8eb7d27ecf..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10349.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
- Chassis
-
- 10349
- urn:oma:lwm2m:x:10349
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10350.xml b/common/transport/lwm2m/src/main/resources/models/10350.xml
deleted file mode 100644
index 64295e65bc..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10350.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Light
-
- 10350
- urn:oma:lwm2m:x:10350
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Light Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Light Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
- -
-
Light Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10351.xml b/common/transport/lwm2m/src/main/resources/models/10351.xml
deleted file mode 100644
index 473b440b02..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10351.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
- Door
-
- 10351
- urn:oma:lwm2m:x:10351
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Door Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
- -
-
Door Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
- -
-
Door Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10352.xml b/common/transport/lwm2m/src/main/resources/models/10352.xml
deleted file mode 100644
index da1dac5834..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10352.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
- Thermal Imager
-
- 10352
- urn:oma:lwm2m:x:10352
- 1.0
- 1.0
- Single
- Optional
-
-
- -
-
Highest Temperature
- R
- Single
- Mandatory
- Float
- -100.0..100.0
- Cel
- The Highest Temperature of the thermal imager.
-
- -
-
Lowest Temperature
- R
- Single
- Mandatory
- Float
- -100.0..100.0
- Cel
- The Lowest Temperature of the thermal imager.
-
- -
-
Average Temperature
- R
- Single
- Mandatory
- Float
- -100.0..100.0
- Cel
- The Average Temperature of the thermal imager.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10353.xml b/common/transport/lwm2m/src/main/resources/models/10353.xml
deleted file mode 100644
index 0b6bb56cc4..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10353.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
- Warning Light
-
- 10353
- urn:oma:lwm2m:x:10353
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Light Status
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Light Warning
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- -
-
Light Control
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
Light Warning Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10354.xml b/common/transport/lwm2m/src/main/resources/models/10354.xml
deleted file mode 100644
index 3459409720..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10354.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-
-
-
-
-
- APP
-
- 10354
- urn:oma:lwm2m:x:10354
- 1.0
- 1.0
- Multiple
- Mandatory
-
- -
-
APP Name
- RW
- Single
- Mandatory
- String
-
-
- The name of the APP, human readable string.
-
- -
-
APP Version
- RW
- Single
- Mandatory
- String
-
-
- The version of the APP, human readable string.
-
- -
-
APP Build No
- RW
- Single
- Optional
- String
-
-
- The Build No of the APP, human readable string.
-
- -
-
APP Patch No
- RW
- Single
- Optional
- String
-
-
- The Patch No of the APP, human readable string.
-
- -
-
Package URI
- W
- Single
- Optional
- String
- 0-255 bytes
-
-
-
- -
-
Vendor Name
- RW
- Single
- Optional
- String
-
-
- The vendor of the package.
-
- -
-
Installation Target
- RW
- Single
- Mandatory
- Objlnk
-
-
-
-
- -
-
APP Status
- R
- Single
- Mandatory
- Integer
- 0..5
-
- The Status of the APP, 0:Downloading, 1:Downloaded, 2:Installed, 3:Verified, 4:Activated, 5:Stopped.
-
- -
-
APP Restart
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Start
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Stop
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Download
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Install
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Uninstall
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Activate
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Deactivate
- E
- Single
- Mandatory
-
-
-
-
-
- -
-
APP Verify
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10355.xml b/common/transport/lwm2m/src/main/resources/models/10355.xml
deleted file mode 100644
index fb38ee2767..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10355.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
- General Info
-
- 10355
- urn:oma:lwm2m:x:10355
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Robot General Info
- R
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
- -
-
RCU General Info
- R
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
- -
-
CCU General Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
ECU General Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10356.xml b/common/transport/lwm2m/src/main/resources/models/10356.xml
deleted file mode 100644
index 2e362ce052..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10356.xml
+++ /dev/null
@@ -1,203 +0,0 @@
-
-
-
-
-
- Service Info
-
- 10356
- urn:oma:lwm2m:x:10356
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Robot Service Info
- R
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
- -
-
SCA Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Speaker Info
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Camera Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Screen Info
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Light Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Warning Light Info
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Door Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Thermal Imager Info
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Compressor Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Lock Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Collision Sensor Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
Drop Sensor Info
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10357.xml b/common/transport/lwm2m/src/main/resources/models/10357.xml
deleted file mode 100644
index 9487b2813d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10357.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
- PM
-
- 10357
- urn:oma:lwm2m:x:10357
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Robot PM
- R
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
- -
-
RCU PM
- R
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
- -
-
CCU PM
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
- -
-
SCA PM
- R
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10358.xml b/common/transport/lwm2m/src/main/resources/models/10358.xml
deleted file mode 100644
index 27a3684b22..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10358.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
- Fan PM
-
- 10358
- urn:oma:lwm2m:x:10358
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Fan Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
- -
-
Fan Speed
- R
- Single
- Optional
- Integer
-
- 1/min
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10359.xml b/common/transport/lwm2m/src/main/resources/models/10359.xml
deleted file mode 100644
index 2fc8af9677..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10359.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
- Lock
-
- 10359
- urn:oma:lwm2m:x:10359
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Lock Name
- R
- Single
- Mandatory
- String
-
-
-
-
- -
-
Lock Status
- R
- Single
- Optional
- Boolean
-
-
-
-
-
- -
-
Lock Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10360.xml b/common/transport/lwm2m/src/main/resources/models/10360.xml
deleted file mode 100644
index 935fea848c..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10360.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
- Ultrasonic Sensor
-
- 10360
- urn:oma:lwm2m:x:10360
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
- -
-
Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10361.xml b/common/transport/lwm2m/src/main/resources/models/10361.xml
deleted file mode 100644
index 3525647afd..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10361.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
- Collision Sensor
-
- 10361
- urn:oma:lwm2m:x:10361
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
- -
-
Collision Detection
- R
- Single
- Optional
- Boolean
-
-
-
-
-
- -
-
Collision Detection Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10362.xml b/common/transport/lwm2m/src/main/resources/models/10362.xml
deleted file mode 100644
index 8a928e4425..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10362.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
- Drop Sensor
-
- 10362
- urn:oma:lwm2m:x:10362
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
- -
-
Drop Detection
- R
- Single
- Optional
- Boolean
-
-
-
-
-
- -
-
Drop Detection Control
- E
- Single
- Mandatory
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10363.xml b/common/transport/lwm2m/src/main/resources/models/10363.xml
deleted file mode 100644
index ca9d064f2f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10363.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
- Temperature Sensor
-
- 10363
- urn:oma:lwm2m:x:10363
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10364.xml b/common/transport/lwm2m/src/main/resources/models/10364.xml
deleted file mode 100644
index 3519665e62..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10364.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
- Humidity Sensor
-
- 10364
- urn:oma:lwm2m:x:10364
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10365.xml b/common/transport/lwm2m/src/main/resources/models/10365.xml
deleted file mode 100644
index 792844271e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10365.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
- Gas-Dust Sensor
-
- 10365
- urn:oma:lwm2m:x:10365
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10366.xml b/common/transport/lwm2m/src/main/resources/models/10366.xml
deleted file mode 100644
index 44e94ae51d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10366.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
- Fan
-
- 10366
- urn:oma:lwm2m:x:10366
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Fan Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10368.xml b/common/transport/lwm2m/src/main/resources/models/10368.xml
deleted file mode 100644
index f063e010fe..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10368.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
- SpringMotor
-
- 10368
- urn:oma:lwm2m:x:10368
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
SpringMotor Name
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/10369.xml b/common/transport/lwm2m/src/main/resources/models/10369.xml
deleted file mode 100644
index 68c345beaf..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/10369.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
- MCU
-
- 10369
- urn:oma:lwm2m:x:10369
- 1.0
- 1.0
- Single
- Optional
-
- -
-
Host Device Unique ID
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Manufacturer
- R
- Single
- Optional
- String
-
-
-
-
-
-
- -
-
Host Device Model Number
- R
- Single
- Optional
- String
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2048.xml b/common/transport/lwm2m/src/main/resources/models/2048.xml
deleted file mode 100644
index 0bc99cffd1..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2048.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
- CmdhPolicy
-
- 2048
- urn:oma:lwm2m:ext:2048 1.0
- 1.0 Multiple
- Optional
-
- Name
- RW
- Single
- Mandatory
- String
-
-
-
-
- DefaultRule
- RW
- Single
- Mandatory
- Objlnk
-
-
-
-
- LimiRules
- RW
- Multiple
- Mandatory
- Objlnk
-
-
-
-
- NetworkAccessECRules
- RW
- Multiple
- Mandatory
- Objlnk
-
-
-
-
- BufferRules
- RW
- Multiple
- Mandatory
- Objlnk
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2049.xml b/common/transport/lwm2m/src/main/resources/models/2049.xml
deleted file mode 100644
index 7509b22160..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2049.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
- ActiveCmdhPolicy
-
- 2049
- urn:oma:lwm2m:ext:2049 1.0
- 1.0 Single
- Optional
-
- ActiveLink
- RW
- Single
- Mandatory
- Objlnk
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2050.xml b/common/transport/lwm2m/src/main/resources/models/2050.xml
deleted file mode 100644
index da27a90de0..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2050.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
- CmdhDefaults
-
- 2050
- urn:oma:lwm2m:ext:2050 1.0
- 1.0 Multiple
- Optional
-
- DefaultEcRules
- RW
- Multiple
- Mandatory
- Objlnk
-
-
-
-
-
- DefaultEcParamRules
- RW
- Multiple
- Mandatory
- Objlnk
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2051.xml b/common/transport/lwm2m/src/main/resources/models/2051.xml
deleted file mode 100644
index f3904e8a2c..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2051.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
- CmdhDefEcValues
-
- 2051
- urn:oma:lwm2m:ext:2051 1.0
- 1.0 Multiple
- Optional
-
- Order
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- DefEcValue
- RW
- Single
- Mandatory
- String
-
-
-
-
- RequestOrigin
- RW
- Multiple
- Mandatory
- String
-
-
-
-
- RequestContext
- RW
- Single
- Optional
- String
-
-
-
-
- RequestContextNotification
- RW
- Single
- Optional
- Boolean
-
-
-
-
- RequestCharacteristics
- RW
- Single
- Optional
- String
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2052.xml b/common/transport/lwm2m/src/main/resources/models/2052.xml
deleted file mode 100644
index abaae1b54e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2052.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-
-
-
-
- CmdhEcDefParamValues
-
- 2052
- urn:oma:lwm2m:ext:2052 1.0
- 1.0 Multiple
- Optional
-
- ApplicableEventCategory
- RW
- Multiple
- Mandatory
- Integer
-
-
-
-
- DefaultRequestExpTime
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
-
-
-
-
-
-
- DefaultResultExpTime
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
-
- DefaultOpExecTime
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
- DefaultRespPersistence
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
- DefaultDelAggregation
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2053.xml b/common/transport/lwm2m/src/main/resources/models/2053.xml
deleted file mode 100644
index 0b119c70fc..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2053.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
- CmdhLimits
-
- 2053
- urn:oma:lwm2m:ext:2053 1.0
- 1.0 Multiple
- Optional
-
- Order
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- RequestOrigin
- RW
- Multiple
- Mandatory
- String
-
-
-
-
-
-
-
-
-
-
- RequestContext
- RW
- Single
- Optional
- String
-
-
-
-
-
- RequestContextNotificatio
- RW
- Single
- Optional
- Boolean
-
-
-
-
- RequestCharacteristics
- RW
- Single
- Optional
- String
-
-
-
-
- LimitsEventCategory
- RW
- Multiple
- Mandatory
- Integer
-
-
-
-
- LimitsRequestExpTime
- RW
- Multiple
- Mandatory
- Integer
- 2 Instances
- ms
-
-
- LimitsResultExpTime
- RW
- Multiple
- Mandatory
- Integer
- 2 Instances
- ms
-
-
- LimitsOptExpTime
- RW
- Multiple
- Mandatory
- Integer
- 2 Instances
- ms
-
-
- LimitsRespPersistence
- RW
- Multiple
- Mandatory
- Integer
- 2 Instances
- ms
-
-
- LimitsDelAggregation
- RW
- Multiple
- Mandatory
- String
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2054.xml b/common/transport/lwm2m/src/main/resources/models/2054.xml
deleted file mode 100644
index 3935fb7253..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2054.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
- CmdhNetworkAccessRules
-
- 2054
- urn:oma:lwm2m:ext:2054 1.0
- 1.0 Multiple
- Optional
-
- ApplicableEventCategories
- RW
- Multiple
- Mandatory
- Integer
-
-
-
-
- NetworkAccessRule
- RW
- Multiple
- Optional
- Objlnk
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2055.xml b/common/transport/lwm2m/src/main/resources/models/2055.xml
deleted file mode 100644
index cbd0dc5796..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2055.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
- CmdhNwAccessRule
-
- 2055
- urn:oma:lwm2m:ext:2055 1.0
- 1.0 Multiple
- Optional
-
- TargetNetwork
- RW
- Multiple
- Mandatory
- String
-
-
-
-
- SpreadingWaitTime
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
- MinReqVolume
- RW
- Single
- Mandatory
- Integer
-
- B
-
-
- BackOffParameters
- RW
- Single
- Mandatory
- Objlnk
-
-
-
-
- OtherConditions
- RW
- Single
- Mandatory
- String
-
-
-
-
- AllowedSchedule
- RW
- Multiple
- Mandatory
- String
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2056.xml b/common/transport/lwm2m/src/main/resources/models/2056.xml
deleted file mode 100644
index ddd50e269a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2056.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
- CmdhBuffer
-
- 2056
- urn:oma:lwm2m:ext:2056 1.0
- 1.0 Multiple
- Optional
-
- ApplicableEventCategory
- RW
- Multiple
- Mandatory
- Integer
-
-
-
-
- MaxBufferSize
- RW
- Single
- Mandatory
- Integer
-
- B
-
-
- StoragePriority
- RW
- Single
- Mandatory
- Integer
- 1..10
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/2057.xml b/common/transport/lwm2m/src/main/resources/models/2057.xml
deleted file mode 100644
index 68d4bcd135..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/2057.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
- CmdhBackOffParametersSet
-
- 2057
- urn:oma:lwm2m:ext:2057
- 1.0
- 1.0
- Multiple
- Optional
-
- NetworkAction
- RW
- Single
- Optional
- Integer
- 1..5
-
-
-
- InitialBackoffTime
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
- AdditionalBackoffTime
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
- MaximumBackoffTime
- RW
- Single
- Mandatory
- Integer
-
- ms
-
-
- OptionalRandomBackoffTime
- RW
- Multiple
- Optional
- Integer
-
- ms
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/31024.xml b/common/transport/lwm2m/src/main/resources/models/31024.xml
deleted file mode 100644
index 85ba52a79d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/31024.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
- Test
- A Wakaama object for testing purpose.
-
- 31024
- urn:oma:lwm2m:x:31024
- Multiple
- Optional
-
- -
-
test
- RW
- Single
- Mandatory
- Integer
- 0-255
-
-
- -
-
exec
- E
- Single
- Mandatory
-
-
- -
-
dec
- RW
- Single
- Mandatory
- Float
-
-
-
-
- -
-
sig
- RW
- Single
- Optional
- Integer
-
-
- 16-bit signed integer
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3200.xml b/common/transport/lwm2m/src/main/resources/models/3200.xml
deleted file mode 100644
index 5a0dce0378..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3200.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
-
- Digital Input
- Generic digital input for non-specific sensors
- 3200
- urn:oma:lwm2m:ext:3200
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Digital Input State
- R
- Single
- Mandatory
- Boolean
-
-
- The current state of a digital input.
-
- -
-
Digital Input Counter
- R
- Single
- Optional
- Integer
-
-
- The cumulative value of active state detected.
-
- -
-
Digital Input Polarity
- RW
- Single
- Optional
- Boolean
-
-
- The polarity of the digital input as a Boolean (False = Normal, True = Reversed).
-
- -
-
Digital Input Debounce
- RW
- Single
- Optional
- Integer
-
- ms
- The debounce period in ms.
-
- -
-
Digital Input Edge Selection
- RW
- Single
- Optional
- Integer
- 1..3
-
- The edge selection as an integer (1 = Falling edge, 2 = Rising edge, 3 = Both Rising and Falling edge).
-
- -
-
Digital Input Counter Reset
- E
- Single
- Optional
-
-
-
- Reset the Counter value.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string, for instance, "Air Pressure"
-
- -
-
Sensor Type
- R
- Single
- Optional
- String
-
-
- The type of the sensor (for instance PIR type)
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3201.xml b/common/transport/lwm2m/src/main/resources/models/3201.xml
deleted file mode 100644
index 0920d9b030..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3201.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
- Digital Output
- Generic digital output for non-specific actuators
- 3201
- urn:oma:lwm2m:ext:3201
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Digital Output State
- RW
- Single
- Mandatory
- Boolean
-
-
- The current state of a digital output.
-
- -
-
Digital Output Polarity
- RW
- Single
- Optional
- Boolean
-
-
- The polarity of the digital output as a Boolean (False = Normal, True = Reversed).
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the output as a string, for instance, "LED"
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3202.xml b/common/transport/lwm2m/src/main/resources/models/3202.xml
deleted file mode 100644
index 413ba0103b..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3202.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
-
-
- Analog Input
- Generic analog input for non-specific sensors
- 3202
- urn:oma:lwm2m:ext:3202
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Analog Input Current Value
- R
- Single
- Mandatory
- Float
-
-
- The current value of the analog input.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string, for instance, "Air Pressure"
-
- -
-
Sensor Type
- R
- Single
- Optional
- String
-
-
- The type of the sensor, for instance PIR type
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3203.xml b/common/transport/lwm2m/src/main/resources/models/3203.xml
deleted file mode 100644
index e807aca00a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3203.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
- Analog Output
- This IPSO object is a generic object that can be used with any kind of analog output interface.
- 3203
- urn:oma:lwm2m:ext:3203
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Analog Output Current Value
- RW
- Single
- Mandatory
- Float
- 0..1
-
- The current state of the analogue output.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- If present, the application type of the actuator as a string, for instance, "Valve"
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be set for the output
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be set for the output
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3300.xml b/common/transport/lwm2m/src/main/resources/models/3300.xml
deleted file mode 100644
index 58cf4f67cb..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3300.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
-
-
- Generic Sensor
- This IPSO object allows the description of a generic sensor. It is based on the description of a value and a unit according to the SenML specification. Thus, any type of value defined within this specification can be reported using this object. This object may be used as a generic object if a dedicated one does not exist.
- 3300
- urn:oma:lwm2m:ext:3300
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- If present, the application type of the sensor as a string, for instance, "CO2"
-
- -
-
Sensor Type
- R
- Single
- Optional
- String
-
-
- The type of the sensor (for instance PIR type)
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3301.xml b/common/transport/lwm2m/src/main/resources/models/3301.xml
deleted file mode 100644
index 7dfb81d230..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3301.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
-
- Illuminance
- Illuminance sensor, example units = lx
- 3301
- urn:oma:lwm2m:ext:3301
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- The current value of the luminosity sensor.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3302.xml b/common/transport/lwm2m/src/main/resources/models/3302.xml
deleted file mode 100644
index 0223d2f772..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3302.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
- Presence
- Presence sensor with digital sensing, optional delay parameters
- 3302
- urn:oma:lwm2m:ext:3302
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Digital Input State
- R
- Single
- Mandatory
- Boolean
-
-
- The current state of the presence sensor
-
- -
-
Digital Input Counter
- R
- Single
- Optional
- Integer
-
-
- The cumulative value of active state detected.
-
- -
-
Digital Input Counter Reset
- E
- Single
- Optional
-
-
-
- Reset the Counter value
-
- -
-
Sensor Type
- R
- Single
- Optional
- String
-
-
- The type of the sensor (for instance PIR type)
-
- -
-
Busy to Clear delay
- RW
- Single
- Optional
- Integer
-
- ms
- Delay from the detection state to the clear state in ms
-
- -
-
Clear to Busy delay
- RW
- Single
- Optional
- Integer
-
- ms
- Delay from the clear state to the busy state in ms
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3303.xml b/common/transport/lwm2m/src/main/resources/models/3303.xml
deleted file mode 100644
index b638c932a8..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3303.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
-
- Temperature
- This IPSO object should be used with a temperature sensor to report a temperature measurement. It also provides resources for minimum/maximum measured values and the minimum/maximum range that can be measured by the temperature sensor. An example measurement unit is degrees Celsius.
- 3303
- urn:oma:lwm2m:ext:3303
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3304.xml b/common/transport/lwm2m/src/main/resources/models/3304.xml
deleted file mode 100644
index 61d65c998b..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3304.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
-
- Humidity
- This IPSO object should be used with a humidity sensor to report a humidity measurement. It also provides resources for minimum/maximum measured values and the minimum/maximum range that can be measured by the humidity sensor. An example measurement unit is relative humidity as a percentage.
- 3304
- urn:oma:lwm2m:ext:3304
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3305.xml b/common/transport/lwm2m/src/main/resources/models/3305.xml
deleted file mode 100644
index cd50b18907..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3305.xml
+++ /dev/null
@@ -1,228 +0,0 @@
-
-
-
-
-
-
- Power Measurement
- This IPSO object should be used over a power measurement sensor to report a remote power measurement. It also provides resources for minimum/maximum measured values and the minimum/maximum range for both active and reactive power. It also provides resources for cumulative energy, calibration, and the power factor.
- 3305
- urn:oma:lwm2m:ext:3305
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Instantaneous active power
- R
- Single
- Mandatory
- Float
-
- W
- The current active power
-
- -
-
Min Measured active power
- R
- Single
- Optional
- Float
-
- W
- The minimum active power measured by the sensor since it is ON
-
- -
-
Max Measured active power
- R
- Single
- Optional
- Float
-
- W
- The maximum active power measured by the sensor since it is ON
-
- -
-
Min Range active power
- R
- Single
- Optional
- Float
-
- W
- The minimum active power that can be measured by the sensor
-
- -
-
Max Range active power
- R
- Single
- Optional
- Float
-
- W
- The maximum active power that can be measured by the sensor
-
- -
-
Cumulative active power
- R
- Single
- Optional
- Float
-
- Wh
- The cumulative active power since the last cumulative energy reset or device start
-
- -
-
Active Power Calibration
- W
- Single
- Optional
- Float
-
- W
- Request an active power calibration by writing the value of a calibrated load.
-
- -
-
Instantaneous reactive power
- R
- Single
- Optional
- Float
-
- var
- The current reactive power
-
- -
-
Min Measured reactive power
- R
- Single
- Optional
- Float
-
- var
- The minimum reactive power measured by the sensor since it is ON
-
- -
-
Max Measured reactive power
- R
- Single
- Optional
- Float
-
- var
- The maximum reactive power measured by the sensor since it is ON
-
- -
-
Min Range reactive power
- R
- Single
- Optional
- Float
-
- var
- The minimum active power that can be measured by the sensor
-
- -
-
Max Range reactive power
- R
- Single
- Optional
- Float
-
- var
- The maximum reactive power that can be measured by the sensor
-
- -
-
Cumulative reactive power
- R
- Single
- Optional
- Float
-
- varh
- The cumulative reactive power since the last cumulative energy reset or device start
-
- -
-
Reactive Power Calibration
- W
- Single
- Optional
- Float
-
- var
- Request a reactive power calibration by writing the value of a calibrated load.
-
- -
-
Power factor
- R
- Single
- Optional
- Float
-
-
- If applicable, the power factor of the current consumption.
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Reset Cumulative energy
- E
- Single
- Optional
-
-
-
- Reset both cumulative active/reactive power
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3306.xml b/common/transport/lwm2m/src/main/resources/models/3306.xml
deleted file mode 100644
index 6e76808d96..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3306.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
- Actuation
- This IPSO object is dedicated to remote actuation such as ON/OFF action or dimming. A multi-state output can also be described as a string. This is useful to send pilot wire orders for instance. It also provides a resource to reflect the time that the device has been switched on.
- 3306
- urn:oma:lwm2m:ext:3306
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
On/Off
- RW
- Single
- Mandatory
- Boolean
-
-
- On/off control. Boolean value where True is On and False is Off.
-
- -
-
Dimmer
- RW
- Single
- Optional
- Integer
- 0..100
- /100
- This resource represents a light dimmer setting, which has an Integer value between 0 and 100 as a percentage.
-
- -
-
On time
- RW
- Single
- Optional
- Integer
-
- s
- The time in seconds that the device has been on. Writing a value of 0 resets the counter.
-
- -
-
Muti-state Output
- RW
- Single
- Optional
- String
-
-
- A string describing a state for multiple level output such as Pilot Wire
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The Application type of the device, for example "Motion Closure".
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3308.xml b/common/transport/lwm2m/src/main/resources/models/3308.xml
deleted file mode 100644
index 865df6235f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3308.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
- Set Point
- This IPSO object should be used to set a desired value to a controller, such as a thermostat. A special resource is added to set the colour of an object.
- 3308
- urn:oma:lwm2m:ext:3308
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Set Point Value
- RW
- Single
- Mandatory
- Float
-
-
- The setpoint value.
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Colour
- RW
- Single
- Optional
- String
-
-
- A string representing a value in some color space
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The Application type of the device, for example "Motion Closure".
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3310.xml b/common/transport/lwm2m/src/main/resources/models/3310.xml
deleted file mode 100644
index 75e381f488..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3310.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
- Load Control
- This Object is used for demand-response load control and other load control in automation application (not limited to power).
- 3310
- urn:oma:lwm2m:ext:3310
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Event Identifier
- RW
- Single
- Mandatory
- String
-
-
- The event identifier as a string.
-
- -
-
Start Time
- RW
- Single
- Mandatory
- Time
-
-
- Time when the event started.
-
- -
-
Duration In Min
- RW
- Single
- Mandatory
- Integer
-
- min
- The duration of the event in minutes.
-
- -
-
Criticality Level
- RW
- Single
- Optional
- Integer
- 0..3
-
- The criticality of the event. The device receiving the event will react in an appropriate fashion for the device.
-
- -
-
Avg Load AdjPct
- RW
- Single
- Optional
- Integer
- 0..100
- /100
- Defines the maximum energy usage of the receiving device, as a percentage of the device's normal maximum energy usage.
-
- -
-
Duty Cycle
- RW
- Single
- Optional
- Integer
- 0..100
- /100
- Defines the duty cycle for the load control event, i.e, what percentage of time the receiving device is allowed to be on.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3311.xml b/common/transport/lwm2m/src/main/resources/models/3311.xml
deleted file mode 100644
index 2e7b3977b6..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3311.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
-
-
-
- Light Control
- This Object is used to control a light source, such as a LED or other light. It allows a light to be turned on or off and its dimmer setting to be control as a % between 0 and 100. An optional colour setting enables a string to be used to indicate the desired colour.
- 3311
- urn:oma:lwm2m:ext:3311
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
On/Off
- RW
- Single
- Mandatory
- Boolean
-
-
- On/off control. Boolean value where True is On and False is Off.
-
- -
-
Dimmer
- RW
- Single
- Optional
- Integer
- 0..100
- /100
- This resource represents a light dimmer setting, which has an Integer value between 0 and 100 as a percentage.
-
- -
-
On time
- RW
- Single
- Optional
- Integer
-
- s
- The time in seconds that the light has been on. Writing a value of 0 resets the counter.
-
- -
-
Cumulative active power
- R
- Single
- Optional
- Float
-
- Wh
- The total power in Wh that the light has used.
-
- -
-
Power factor
- R
- Single
- Optional
- Float
-
-
- The power factor of the light.
-
- -
-
Colour
- RW
- Single
- Optional
- String
-
-
- A string representing a value in some color space
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string, for instance, "Air Pressure"
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3312.xml b/common/transport/lwm2m/src/main/resources/models/3312.xml
deleted file mode 100644
index fca6d7926a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3312.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
-
- Power Control
- This Object is used to control a power source, such as a Smart Plug. It allows a power relay to be turned on or off and its dimmer setting to be control as a % between 0 and 100.
- 3312
- urn:oma:lwm2m:ext:3312
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
On/Off
- RW
- Single
- Mandatory
- Boolean
-
-
- On/off control. Boolean value where True is On and False is Off.
-
- -
-
Dimmer
- RW
- Single
- Optional
- Integer
- 0..100
- /100
- This resource represents a power dimmer setting, which has an Integer value between 0 and 100 as a percentage.
-
- -
-
On time
- RW
- Single
- Optional
- Integer
-
- s
- The time in seconds that the power relay has been on. Writing a value of 0 resets the counter.
-
- -
-
Cumulative active power
- R
- Single
- Optional
- Float
-
- Wh
- The total power in Wh that has been used by the load.
-
- -
-
Power factor
- R
- Single
- Optional
- Float
-
-
- The power factor of the load.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string, for instance, "Air Pressure"
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3313.xml b/common/transport/lwm2m/src/main/resources/models/3313.xml
deleted file mode 100644
index df8dd8b573..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3313.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
-
- Accelerometer
- This IPSO object can be used to represent a 1-3 axis accelerometer.
- 3313
- urn:oma:lwm2m:ext:3313
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
X Value
- R
- Single
- Mandatory
- Float
-
-
- The measured value along the X axis.
-
- -
-
Y Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Y axis.
-
- -
-
Z Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Z axis.
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3314.xml b/common/transport/lwm2m/src/main/resources/models/3314.xml
deleted file mode 100644
index 0dcd28e625..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3314.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
- Magnetometer
- This IPSO object can be used to represent a 1-3 axis magnetometer with optional compass direction.
- 3314
- urn:oma:lwm2m:ext:3314
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
X Value
- R
- Single
- Mandatory
- Float
-
-
- The measured value along the X axis.
-
- -
-
Y Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Y axis.
-
- -
-
Z Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Z axis.
-
- -
-
Compass Direction
- R
- Single
- Optional
- Float
- 0..360
- deg
- The measured compass direction.
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3315.xml b/common/transport/lwm2m/src/main/resources/models/3315.xml
deleted file mode 100644
index 1e010d3186..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3315.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
-
- Barometer
- This IPSO object should be used with an air pressure sensor to report a barometer measurement. It also provides resources for minimum/maximum measured values and the minimum/maximum range that can be measured by the barometer sensor. An example measurement unit is pascals.
- 3315
- urn:oma:lwm2m:ext:3315
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3316.xml b/common/transport/lwm2m/src/main/resources/models/3316.xml
deleted file mode 100644
index 63a769bea2..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3316.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Voltage
- This IPSO object should be used with voltmeter sensor to report measured voltage between two points. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is volts.
-
- 3316
- urn:oma:lwm2m:ext:3316
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3317.xml b/common/transport/lwm2m/src/main/resources/models/3317.xml
deleted file mode 100644
index f3c0303438..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3317.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Current
- This IPSO object should be used with an ammeter to report measured electric current in amperes. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is ampere.
-
- 3317
- urn:oma:lwm2m:ext:3317
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3318.xml b/common/transport/lwm2m/src/main/resources/models/3318.xml
deleted file mode 100644
index e7b69cd460..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3318.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Frequency
- This IPSO object should be used to report frequency measurements. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is hertz.
-
- 3318
- urn:oma:lwm2m:ext:3318
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3319.xml b/common/transport/lwm2m/src/main/resources/models/3319.xml
deleted file mode 100644
index 19d074a6eb..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3319.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Depth
- This IPSO object should be used to report depth measurements. It can, for example, be used to describe a generic rain gauge that measures the accumulated rainfall in millimetres (mm).
-
- 3319
- urn:oma:lwm2m:ext:3319
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3320.xml b/common/transport/lwm2m/src/main/resources/models/3320.xml
deleted file mode 100644
index d43fe7f315..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3320.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Percentage
- This IPSO object should can be used to report measurements relative to a 0-100% scale. For example it could be used to measure the level of a liquid in a vessel or container in units of %.
-
- 3320
- urn:oma:lwm2m:ext:3320
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3321.xml b/common/transport/lwm2m/src/main/resources/models/3321.xml
deleted file mode 100644
index 0e57a8917b..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3321.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Altitude
- This IPSO object should be used with an altitude sensor to report altitude above sea level in meters. Note that Altitude can be calculated from the measured pressure given the local sea level pressure. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is meters.
-
- 3321
- urn:oma:lwm2m:ext:3321
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3322.xml b/common/transport/lwm2m/src/main/resources/models/3322.xml
deleted file mode 100644
index c1eb6557c7..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3322.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Load
- This IPSO object should be used with a load sensor (as in a scale) to report the applied weight or force. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is kilograms.
-
- 3322
- urn:oma:lwm2m:ext:3322
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3323.xml b/common/transport/lwm2m/src/main/resources/models/3323.xml
deleted file mode 100644
index 16c409931d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3323.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Pressure
- This IPSO object should be used to report pressure measurements. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is pascals.
-
- 3323
- urn:oma:lwm2m:ext:3323
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3324.xml b/common/transport/lwm2m/src/main/resources/models/3324.xml
deleted file mode 100644
index e23c76b5dc..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3324.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Loudness
- This IPSO object should be used to report loudness or noise level measurements. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is decibels.
-
- 3324
- urn:oma:lwm2m:ext:3324
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3325.xml b/common/transport/lwm2m/src/main/resources/models/3325.xml
deleted file mode 100644
index 2defd9af1e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3325.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Concentration
- This IPSO object should be used to the particle concentration measurement of a medium. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is parts per million.
-
- 3325
- urn:oma:lwm2m:ext:3325
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3326.xml b/common/transport/lwm2m/src/main/resources/models/3326.xml
deleted file mode 100644
index 7d3f940649..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3326.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Acidity
- This IPSO object should be used to report an acidity measurement of a liquid. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is pH.
-
- 3326
- urn:oma:lwm2m:ext:3326
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3327.xml b/common/transport/lwm2m/src/main/resources/models/3327.xml
deleted file mode 100644
index 32498aba39..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3327.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Conductivity
- This IPSO object should be used to report a measurement of the electric conductivity of a medium or sample. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is Siemens.
-
- 3327
- urn:oma:lwm2m:ext:3327
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3328.xml b/common/transport/lwm2m/src/main/resources/models/3328.xml
deleted file mode 100644
index 4c920b05ae..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3328.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Power
- This IPSO object should be used to report power measurements. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is Watts. This object may be used for either real power or apparent power measurements.
-
- 3328
- urn:oma:lwm2m:ext:3328
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3329.xml b/common/transport/lwm2m/src/main/resources/models/3329.xml
deleted file mode 100644
index ba96e5bf9d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3329.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Power Factor
- This IPSO object should be used to report a measurement or calculation of the power factor of a reactive electrical load. Power Factor is normally the ratio of non-reactive power to total power. This object also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor.
-
- 3329
- urn:oma:lwm2m:ext:3329
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3330.xml b/common/transport/lwm2m/src/main/resources/models/3330.xml
deleted file mode 100644
index 5583596aa8..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3330.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Distance
- This IPSO object should be used to report a distance measurement. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is Meters.
-
- 3330
- urn:oma:lwm2m:ext:3330
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3331.xml b/common/transport/lwm2m/src/main/resources/models/3331.xml
deleted file mode 100644
index 8933e75c69..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3331.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
- Energy
- This IPSO object should be used to report energy consumption (Cumulative Power) of an electrical load. An example measurement unit is Watt Hours.
-
- 3331
- urn:oma:lwm2m:ext:3331
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor.
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Reset Cumulative energy
- E
- Single
- Optional
-
-
-
- Reset both cumulative active/reactive power.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3332.xml b/common/transport/lwm2m/src/main/resources/models/3332.xml
deleted file mode 100644
index e39fb6f182..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3332.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
- Direction
- This IPSO object is used to report the direction indicated by a compass, wind vane, or other directional indicator. The units of measure is plane angle degrees.
-
- 3332
- urn:oma:lwm2m:ext:3332
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Compass Direction
- R
- Single
- Mandatory
- Float
- 0..360
- deg
- The measured compass direction.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset.
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset.
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3333.xml b/common/transport/lwm2m/src/main/resources/models/3333.xml
deleted file mode 100644
index 7282e2670a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3333.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
- Time
- This IPSO object is used to report the current time in seconds since January 1, 1970 UTC. There is also a fractional time counter that has a range of less than one second.
-
- 3333
- urn:oma:lwm2m:ext:3333
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Current Time
- RW
- Single
- Mandatory
- Time
-
-
- Unix Time. A signed integer representing the number of seconds since Jan 1st, 1970 in the UTC time zone.
-
- -
-
Fractional Time
- RW
- Single
- Optional
- Float
- 0..1
- s
- Fractional part of the time when sub-second precision is used (e.g., 0.23 for 230 ms).
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3334.xml b/common/transport/lwm2m/src/main/resources/models/3334.xml
deleted file mode 100644
index 8fb30e0164..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3334.xml
+++ /dev/null
@@ -1,189 +0,0 @@
-
-
-
-
-
-
- Gyrometer
- This IPSO Object is used to report the current reading of a gyrometer sensor in 3 axes. It provides tracking of the minimum and maximum angular rate in all 3 axes. An example unit of measure is radians per second.
-
- 3334
- urn:oma:lwm2m:ext:3334
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
X Value
- R
- Single
- Mandatory
- Float
-
-
- The measured value along the X axis.
-
- -
-
Y Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Y axis.
-
- -
-
Z Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Z axis.
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min X Value
- R
- Single
- Optional
- Float
-
-
- The minimum measured value along the X axis
-
- -
-
Max X Value
- R
- Single
- Optional
- Float
-
-
- The maximum measured value along the X axis
-
- -
-
Min Y Value
- R
- Single
- Optional
- Float
-
-
- The minimum measured value along the Y axis
-
- -
-
Max Y Value
- R
- Single
- Optional
- Float
-
-
- The maximum measured value along the Y axis
-
- -
-
Min Z Value
- R
- Single
- Optional
- Float
-
-
- The minimum measured value along the Z axis
-
- -
-
Max Z Value
- R
- Single
- Optional
- Float
-
-
- The maximum measured value along the Z axis
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value.
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3335.xml b/common/transport/lwm2m/src/main/resources/models/3335.xml
deleted file mode 100644
index 8d48093231..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3335.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
- Colour
- This IPSO object should be used to report the measured value of a colour sensor in some colour space described by the units resource.
-
- 3335
- urn:oma:lwm2m:ext:3335
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Colour
- RW
- Single
- Mandatory
- String
-
-
- A string representing a value in some colour space.
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3336.xml b/common/transport/lwm2m/src/main/resources/models/3336.xml
deleted file mode 100644
index 30aba24708..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3336.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
-
-
- Location
- This IPSO object represents GPS coordinates. This object is compatible with the LWM2M management object for location, but uses reusable resources.
-
- 3336
- urn:oma:lwm2m:ext:3336
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Latitude
- R
- Single
- Mandatory
- String
-
-
- The decimal notation of latitude, e.g. -43.5723 (World Geodetic System 1984).
-
- -
-
Longitude
- R
- Single
- Mandatory
- String
-
-
- The decimal notation of longitude, e.g. 153.21760 (World Geodetic System 1984).
-
- -
-
Uncertainty
- R
- Single
- Optional
- String
-
-
- The accuracy of the position in meters.
-
- -
-
Compass Direction
- R
- Single
- Optional
- Float
- 0..360
- deg
- The measured compass direction.
-
- -
-
Velocity
- R
- Single
- Optional
- Opaque
-
-
- The velocity of the device as defined in 3GPP 23.032 GAD specification. This set of values may not be available if the device is static.
-
- -
-
Timestamp
- R
- Single
- Optional
- Time
-
-
- The timestamp of when the measurement was performed.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3337.xml b/common/transport/lwm2m/src/main/resources/models/3337.xml
deleted file mode 100644
index 54f3d19d54..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3337.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Positioner
- This IPSO object should be used with a generic position actuator with range from 0 to 100%. This object optionally allows setting the transition time for an operation that changes the position of the actuator, and for reading the remaining time of the currently active transition.
-
- 3337
- urn:oma:lwm2m:ext:3337
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Current Position
- RW
- Single
- Mandatory
- Float
- 0..100
- /100
- Current position or desired position of a positioner actuator.
-
- -
-
Transition Time
- RW
- Single
- Optional
- Float
-
- s
- The time expected to move the actuator to the new position.
-
- -
-
Remaining Time
- R
- Single
- Optional
- Float
-
- s
- The time remaining in an operation.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value set on the actuator since power ON or reset.
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value set on the actuator since power ON or reset.
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value.
-
- -
-
Min Limit
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor.
-
- -
-
Max Limit
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3338.xml b/common/transport/lwm2m/src/main/resources/models/3338.xml
deleted file mode 100644
index 1437a62c65..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3338.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
- Buzzer
- This IPSO object should be used to actuate an audible alarm such as a buzzer, beeper, or vibration alarm. There is a dimmer control for setting the relative loudness of the alarm, and an optional duration control to limit the length of time the alarm sounds when turned on. Each time "true" is written to the On/Off resource, the alarm will sound again for the configured duration. If no duration is programmed or the setting is "false", writing a "true" to the On/Off resource will result in the alarm sounding continuously until a "false" is written to the On/Off resource.
-
- 3338
- urn:oma:lwm2m:ext:3338
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
On/Off
- RW
- Single
- Mandatory
- Boolean
-
-
- On/off control. Boolean value where True is On and False is Off.
-
- -
-
Level
- RW
- Single
- Optional
- Float
- 0..100
- /100
- Audio volume control, float value between 0 and 100 as a percentage.
-
- -
-
Delay Duration
- RW
- Single
- Optional
- Float
-
- s
- The duration of the time delay.
-
- -
-
Minimum Off-time
- RW
- Single
- Mandatory
- Float
-
- s
- The off time when On/Off control remains on.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3339.xml b/common/transport/lwm2m/src/main/resources/models/3339.xml
deleted file mode 100644
index edd11709e8..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3339.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
- Audio Clip
- This IPSO object should be used for a speaker that plays a pre-recorded audio clip or an audio output that is sent elsewhere. For example, an elevator which announces the floor of the building. A resource is provided to store the clip, a dimmer resource controls the relative sound level of the playback, and a duration resource limits the maximum playback time. After the duration time is reached, any remaining samples in the clip are ignored, and the clip player will be ready to play another clip.
- 3339
- urn:oma:lwm2m:ext:3339
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Clip
- RW
- Single
- Mandatory
- Opaque
-
-
- Audio clip that is playable (e.g., a short audio recording indicating the floor in an elevator).
-
- -
-
Trigger
- E
- Single
- Optional
-
-
-
- Trigger initiating actuation.
-
- -
-
Level
- RW
- Single
- Optional
- Float
- 0..100
- /100
- Audio volume control, float value between 0 and 100 as a percentage.
-
- -
-
Duration
- RW
- Single
- Optional
- Float
-
- s
- The duration of the sound once trigger.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3340.xml b/common/transport/lwm2m/src/main/resources/models/3340.xml
deleted file mode 100644
index 16585224fa..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3340.xml
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
- Timer
- This IPSO object is used to time events and actions, using patterns common to industrial timers. A write to the trigger resource or On/Off input state change starts the timing operation, and the timer remaining time shows zero when the operation is complete. The patterns supported are One-Shot (mode 1), On-Time or Interval (mode 2), Time delay on pick-up or TDPU (mode 3), and Time Delay on Drop-Out or TDDO (mode 4). Mode 0 disables the timer, so the output follows the input with no delay. A counter is provided to count occurrences of the timer output changing from 0 to 1. Writing a value of zero resets the counter. The Digital Input State resource reports the state of the timer output.
-
- 3340
- urn:oma:lwm2m:ext:3340
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Delay Duration
- RW
- Single
- Mandatory
- Float
-
- s
- The duration of the time delay.
-
- -
-
Remaining Time
- R
- Single
- Optional
- Float
-
- s
- The time remaining in an operation.
-
- -
-
Minimum Off-time
- RW
- Single
- Optional
- Float
-
- s
- The duration of the rearm delay (i.e. the delay from the end of one cycle until the beginning of the next, the inhibit time).
-
- -
-
Trigger
- E
- Single
- Optional
-
-
-
- Trigger initiating actuation.
-
- -
-
On/Off
- RW
- Single
- Optional
- Boolean
-
-
- On/off control. Boolean value where True is On and False is Off.
-
- -
-
Digital Input Counter
- R
- Single
- Optional
- Integer
-
-
- The number of times the input.
-
- -
-
Cumulative Time
- RW
- Single
- Optional
- Float
-
- s
- The total time in seconds that the timer input is true. Writing a 0 resets the time.
-
- -
-
Digital State
- R
- Single
- Optional
- Boolean
-
-
- The current state of the timer output.
-
- -
-
Counter
- RW
- Single
- Optional
- Integer
-
-
- Counts the number of times the timer output transitions from 0 to 1.
-
- -
-
Timer Mode
- RW
- Single
- Optional
- Integer
- 0..4
-
- Type of timer pattern used by the patterns.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3341.xml b/common/transport/lwm2m/src/main/resources/models/3341.xml
deleted file mode 100644
index 55865d0f32..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3341.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Addressable Text Display
- This IPSO object is used to send text to a text-only or text mode graphics display. Writing a string of text to the text resource causes it to be displayed at the selected X and Y locations on the display. If X or Y are set to a value greater than the size of the display, the position "wraps around" to the modulus of the setting and the display size. Likewise, if the text string overflows the display size, the text "wraps around" and displays on the next line down or, if the last line has been written, wraps around to the top of the display. Brightness and Contrast controls are provided to allow control of various display types including STN and DSTN type LCD character displays. Writing an empty payload to the Clear Display resource causes the display to be erased.
-
- 3341
- urn:oma:lwm2m:ext:3341
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Text
- RW
- Single
- Mandatory
- String
-
-
- A string of text.
-
- -
-
X Coordinate
- RW
- Single
- Optional
- Integer
-
-
- X Coordinate.
-
- -
-
Y Coordinate
- RW
- Single
- Optional
- Integer
-
-
- Y Coordinate.
-
- -
-
Max X Coordinate
- R
- Single
- Optional
- Integer
-
-
- The highest X coordinate the display supports before wrapping to the next line.
-
- -
-
Max Y Coordinate
- R
- Single
- Optional
- Integer
-
-
- The highest Y coordinate the display supports before wrapping to the next line.
-
- -
-
Clear Display
- E
- Single
- Optional
-
-
-
- Command to clear the display.
-
- -
-
Level
- RW
- Single
- Optional
- Float
- 0..100
- /100
- Brightness control, integer value between 0 and 100 as a percentage.
-
- -
-
Contrast
- RW
- Single
- Optional
- Float
- 0..100
- /100
- Proportional control, integer value between 0 and 100 as a percentage.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3342.xml b/common/transport/lwm2m/src/main/resources/models/3342.xml
deleted file mode 100644
index b88ebab9d4..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3342.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
- On/Off switch
- This IPSO object should be used with an On/Off switch to report the state of the switch.
- 3342
- urn:oma:lwm2m:ext:3342
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Digital Input State
- R
- Single
- Mandatory
- Boolean
-
-
- The current state of a digital input.
-
- -
-
Digital Input Counter
- R
- Single
- Optional
- Integer
-
-
- The number of times the input transitions from 0 to 1.
-
- -
-
On time
- RW
- Single
- Optional
- Integer
-
- s
- The time in seconds since the On command was sent. Writing a value of 0 resets the counter.
-
- -
-
Off Time
- RW
- Single
- Optional
- Integer
-
- s
- The time in seconds since the Off command was sent. Writing a value of 0 resets the counter.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3343.xml b/common/transport/lwm2m/src/main/resources/models/3343.xml
deleted file mode 100644
index 63b77c3e91..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3343.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
- Dimmer
- This IPSO object should be used with a dimmer or level control to report the state of the control.
-
- 3343
- urn:oma:lwm2m:ext:3343
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Level
- RW
- Single
- Mandatory
- Float
- 0..100
- /100
- Proportional control, integer value between 0 and 100 as a percentage.
-
- -
-
On time
- RW
- Single
- Optional
- Integer
-
- s
- The time in seconds that the dimmer has been on (Dimmer value has to be > 0). Writing a value of 0 resets the counter.
-
- -
-
Off Time
- RW
- Single
- Optional
- Integer
-
- s
- The time in seconds that the dimmer has been off (dimmer value less or equal to 0) Writing a value of 0 resets the counter.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3344.xml b/common/transport/lwm2m/src/main/resources/models/3344.xml
deleted file mode 100644
index 2dd8648a19..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3344.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
- Up/Down Control
- This IPSO object is used to report the state of an up/down control element like a pair of push buttons or a rotary encoder. Counters for increase and decrease operations are provided for counting pulses from a quadrature encoder.
-
- 3344
- urn:oma:lwm2m:ext:3344
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Increase Input State
- R
- Single
- Mandatory
- Boolean
-
-
- Indicates an increase control action.
-
- -
-
Decrease Input State
- R
- Single
- Mandatory
- Boolean
-
-
- Indicates a decrease control action.
-
- -
-
Up Counter
- RW
- Single
- Optional
- Integer
-
-
- Counts the number of times the increase control has been operated. Writing a 0 resets the counter.
-
- -
-
Down Counter
- RW
- Single
- Optional
- Integer
-
-
- Counts the times the decrease control has been operated. Writing a 0 resets the counter.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3345.xml b/common/transport/lwm2m/src/main/resources/models/3345.xml
deleted file mode 100644
index a5355c94ca..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3345.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
- Multiple Axis Joystick
- This IPSO object can be used to report the position of a shuttle or joystick control. A digital input is provided to report the state of an associated push button.
-
- 3345
- urn:oma:lwm2m:ext:3345
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Digital Input State
- R
- Single
- Optional
- Boolean
-
-
- The current state of a digital input.
-
- -
-
Digital Input Counter
- R
- Single
- Optional
- Integer
-
-
- The number of times the input transitions from 0 to 1.
-
- -
-
X Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the X axis.
-
- -
-
Y Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Y axis.
-
- -
-
Z Value
- R
- Single
- Optional
- Float
-
-
- The measured value along the Z axis.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3346.xml b/common/transport/lwm2m/src/main/resources/models/3346.xml
deleted file mode 100644
index 8c68054c39..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3346.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- Rate
- This object type should be used to report a rate measurement, for example the speed of a vehicle, or the rotational speed of a drive shaft. It also provides resources for minimum and maximum measured values, as well as the minimum and maximum range that can be measured by the sensor. An example measurement unit is meters per second (m/s).
-
- 3346
- urn:oma:lwm2m:ext:3346
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Sensor Value
- R
- Single
- Mandatory
- Float
-
-
- Last or Current Measured Value from the Sensor
-
- -
-
Sensor Units
- R
- Single
- Optional
- String
-
-
- Measurement Units Definition.
-
- -
-
Min Measured Value
- R
- Single
- Optional
- Float
-
-
- The minimum value measured by the sensor since power ON or reset
-
- -
-
Max Measured Value
- R
- Single
- Optional
- Float
-
-
- The maximum value measured by the sensor since power ON or reset
-
- -
-
Min Range Value
- R
- Single
- Optional
- Float
-
-
- The minimum value that can be measured by the sensor
-
- -
-
Max Range Value
- R
- Single
- Optional
- Float
-
-
- The maximum value that can be measured by the sensor
-
- -
-
Reset Min and Max Measured Values
- E
- Single
- Optional
-
-
-
- Reset the Min and Max Measured Values to Current Value
-
- -
-
Current Calibration
- RW
- Single
- Optional
- Float
-
-
- Read or Write the current calibration coefficient
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3347.xml b/common/transport/lwm2m/src/main/resources/models/3347.xml
deleted file mode 100644
index f86a986f0a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3347.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
- Push button
- This IPSO object is used to report the state of a momentary action push button control and to count the number of times the control has been operated since the last observation.
-
- 3347
- urn:oma:lwm2m:ext:3347
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Digital Input State
- R
- Single
- Mandatory
- Boolean
-
-
- The current state of a digital input.
-
- -
-
Digital Input Counter
- R
- Single
- Optional
- Integer
-
-
- The number of times the input transitions from 0 to 1.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3348.xml b/common/transport/lwm2m/src/main/resources/models/3348.xml
deleted file mode 100644
index a2de51f6af..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3348.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
- Multi-state Selector
- This IPSO object is used to represent the state of a Multi-state selector switch with a number of fixed positions.
-
- 3348
- urn:oma:lwm2m:ext:3348
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Multi-state Input
- R
- Single
- Mandatory
- Integer
-
-
- The current state of a Multi-state input or selector.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3349.xml b/common/transport/lwm2m/src/main/resources/models/3349.xml
deleted file mode 100644
index 9a77820703..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3349.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
- Bitmap
- Summarize several digital inputs to one value by mapping each bit to a digital input.
- 3349
- urn:oma:lwm2m:ext:3349
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Bitmap Input
- R
- Single
- Mandatory
- Integer
-
-
- Integer in which each of the bits are associated with specific digital input value. Represented as a binary signed integer in network byte order, and in two's complement representation. Using values in range 0-127 is recommended to avoid ambiguities with byte order and negative values.
-
- -
-
Bitmap Input Reset
- E
- Single
- Optional
-
-
-
- Reset the Bitmap Input value.
-
- -
-
Element Description
- RW
- Multiple
- Optional
- String
-
-
- The description of each bit as a string. First instance describes the least significant bit, second instance the second least significant bit.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3350.xml b/common/transport/lwm2m/src/main/resources/models/3350.xml
deleted file mode 100644
index dc1313cd83..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3350.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
- Stopwatch
- An ascending timer that counts how long time has passed since the timer was started after reset.
- 3350
- urn:oma:lwm2m:ext:3350
- 1.0
- 1.0
- Multiple
- Optional
-
- -
-
Cumulative Time
- RW
- Single
- Mandatory
- Float
-
- s
- The total time in seconds that the stopwatch has been on. Writing a 0 resets the time.
-
- -
-
On/Off
- RW
- Single
- Optional
- Boolean
-
-
- On/off control. Boolean value where True is On and False is Off.
-
- -
-
Digital Input Counter
- R
- Single
- Optional
- Integer
-
-
- The number of times the input transitions from off to on.
-
- -
-
Application Type
- RW
- Single
- Optional
- String
-
-
- The application type of the sensor or actuator as a string depending on the use case.
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3351.xml b/common/transport/lwm2m/src/main/resources/models/3351.xml
deleted file mode 100644
index 9219a765df..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3351.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
- powerupLog
-
- 3351
- urn:oma:lwm2m:ext:3351
- 1.0
- 1.0
- Single
- Optional
-
- deviceName
- R
- Single
- Mandatory
- String
-
-
-
-
- toolVersion
- R
- Single
- Mandatory
- String
-
-
-
-
- IMEI
- R
- Single
- Mandatory
- String
-
-
-
-
- IMSI
- R
- Single
- Mandatory
- String
-
-
-
-
- MSISDN
- R
- Single
- Mandatory
- String
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3352.xml b/common/transport/lwm2m/src/main/resources/models/3352.xml
deleted file mode 100644
index 260daa033a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3352.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
- plmnSearchEvent
-
- 3352
- urn:oma:lwm2m:ext:3352
- 1.0
- 1.0
- Multiple
- Optional
-
- timeScanStart
- R
- Single
- Mandatory
- Integer
-
-
-
-
- plmnID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- BandIndicator
- R
- Single
- Mandatory
- Integer
-
-
-
-
- dlEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3353.xml b/common/transport/lwm2m/src/main/resources/models/3353.xml
deleted file mode 100644
index 95b87e40b7..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3353.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
- scellID
-
- 3353
- urn:oma:lwm2m:ext:3353
- 1.0
- 1.0
- Single
- Optional
-
- plmnID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- BandIndicator
- R
- Single
- Mandatory
- Integer
-
-
-
-
- TrackingAreaCode
- R
- Single
- Mandatory
- Integer
-
-
-
-
- CellID
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3354.xml b/common/transport/lwm2m/src/main/resources/models/3354.xml
deleted file mode 100644
index 065a330d38..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3354.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
- cellReselectionEvent
-
- 3354
- urn:oma:lwm2m:ext:3354
- 1.0
- 1.0
- Single
- Optional
-
- timeReselectionStart
- R
- Single
- Mandatory
- Integer
-
-
-
-
- dlEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
- CellID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- failureType
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3355.xml b/common/transport/lwm2m/src/main/resources/models/3355.xml
deleted file mode 100644
index 627d67b68e..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3355.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
- handoverEvent
-
- 3355
- urn:oma:lwm2m:ext:3355
- 1.0
- 1.0
- Single
- Optional
-
- timeHandoverStart
- R
- Single
- Mandatory
- Integer
-
-
-
-
- dlEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
- CellID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- handoverResult
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
- TargetEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
- TargetPhysicalCellID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- targetCellRsrp
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3356.xml b/common/transport/lwm2m/src/main/resources/models/3356.xml
deleted file mode 100644
index 95c7fc7835..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3356.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
- radioLinkFailureEvent
-
- 3356
- urn:oma:lwm2m:ext:3356
- 1.0
- 1.0
- Single
- Optional
-
- timeRLF
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rlfCause
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3357.xml b/common/transport/lwm2m/src/main/resources/models/3357.xml
deleted file mode 100644
index 935b7c4ba7..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3357.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
- rrcStateChangeEvent
-
- 3357
- urn:oma:lwm2m:ext:3357
- 1.0
- 1.0
- Single
- Optional
-
- rrcState
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rrcStateChangeCause
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3358.xml b/common/transport/lwm2m/src/main/resources/models/3358.xml
deleted file mode 100644
index 2784d6a990..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3358.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
- rrcTimerExpiryEvent
-
- 3358
- urn:oma:lwm2m:ext:3358
- 1.0
- 1.0
- Single
- Optional
-
- RrcTimerExpiryEvent
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3359.xml b/common/transport/lwm2m/src/main/resources/models/3359.xml
deleted file mode 100644
index 630e52ce8f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3359.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
- cellBlacklistEvent
-
- 3359
- urn:oma:lwm2m:ext:3359
- 1.0
- 1.0
- Single
- Optional
-
- dlEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
- CellID
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3360.xml b/common/transport/lwm2m/src/main/resources/models/3360.xml
deleted file mode 100644
index 12b2302854..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3360.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
- esmContextInfo
-
- 3360
- urn:oma:lwm2m:ext:3360
- 1.0
- 1.0
- Single
- Optional
-
- contextType
- R
- Single
- Mandatory
- Integer
-
-
-
-
- bearerState
- R
- Single
- Mandatory
- Integer
-
-
-
-
- radioBearerId
- R
- Single
- Mandatory
- Integer
-
-
-
-
- qci
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3361.xml b/common/transport/lwm2m/src/main/resources/models/3361.xml
deleted file mode 100644
index 3d354bffac..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3361.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
- emmStateValue
-
- 3361
- urn:oma:lwm2m:ext:3361
- 1.0
- 1.0
- Single
- Optional
-
- EmmState
- R
- Single
- Mandatory
- Integer
-
-
-
-
- emmSubstate
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3362.xml b/common/transport/lwm2m/src/main/resources/models/3362.xml
deleted file mode 100644
index 3cb73eb79a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3362.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
- nasEmmTimerExpiryEvent
-
- 3362
- urn:oma:lwm2m:ext:3362
- 1.0
- 1.0
- Single
- Optional
-
- NasEmmTimerExpiryEvent
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3363.xml b/common/transport/lwm2m/src/main/resources/models/3363.xml
deleted file mode 100644
index 3b44b91f26..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3363.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
- nasEsmExpiryEvent
-
- 3363
- urn:oma:lwm2m:ext:3363
- 1.0
- 1.0
- Single
- Optional
-
- NasEsmExpiryEvent
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3364.xml b/common/transport/lwm2m/src/main/resources/models/3364.xml
deleted file mode 100644
index 0a042d12d2..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3364.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
- emmFailureCauseEvent
-
- 3364
- urn:oma:lwm2m:ext:3364
- 1.0
- 1.0
- Single
- Optional
-
- EMMCause
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3365.xml b/common/transport/lwm2m/src/main/resources/models/3365.xml
deleted file mode 100644
index 99f1b3885c..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3365.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
- rachLatency_delay
-
- 3365
- urn:oma:lwm2m:ext:3365
- 1.0
- 1.0
- Single
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rachLatencyVal
- R
- Single
- Mandatory
- Integer
-
-
-
-
- delay
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3366.xml b/common/transport/lwm2m/src/main/resources/models/3366.xml
deleted file mode 100644
index 5498af2a3d..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3366.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
- macRachAttemptEvent
-
- 3366
- urn:oma:lwm2m:ext:3366
- 1.0
- 1.0
- Single
- Optional
-
- rachAttemptCounter
- R
- Single
- Mandatory
- Integer
-
-
-
-
- MacRachAttemptEventType
- R
- Single
- Mandatory
- Integer
-
-
-
-
- contentionBased
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- rachMessage
- R
- Single
- Mandatory
- Integer
-
-
-
-
- preambleIndex
- R
- Single
- Mandatory
- Integer
-
-
-
-
- preamblePowerOffset
- R
- Single
- Mandatory
- Integer
-
-
-
-
- backoffTime
- R
- Single
- Mandatory
- Integer
-
-
-
-
- msg2Result
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- timingAdjustmentValue
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3367.xml b/common/transport/lwm2m/src/main/resources/models/3367.xml
deleted file mode 100644
index 1f35cf4cc5..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3367.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
- macRachAttemptReasonEvent
-
- 3367
- urn:oma:lwm2m:ext:3367
- 1.0
- 1.0
- Single
- Optional
-
- MacRachAttemptReasonType
- R
- Single
- Mandatory
- Integer
-
-
-
-
- ueID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- contentionBased
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- preamble
- R
- Single
- Mandatory
- Integer
-
-
-
-
- preambleGroupChosen
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3368.xml b/common/transport/lwm2m/src/main/resources/models/3368.xml
deleted file mode 100644
index 40c17bfd37..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3368.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
- macTimerStatusEvent
-
- 3368
- urn:oma:lwm2m:ext:3368
- 1.0
- 1.0
- Single
- Optional
-
- macTimerName
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3369.xml b/common/transport/lwm2m/src/main/resources/models/3369.xml
deleted file mode 100644
index b93bb86644..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3369.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
- macTimingAdvanceEvent
-
- 3369
- urn:oma:lwm2m:ext:3369
- 1.0
- 1.0
- Single
- Optional
-
- timerValue
- R
- Single
- Mandatory
- Integer
-
-
-
-
- timingAdvance
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3370.xml b/common/transport/lwm2m/src/main/resources/models/3370.xml
deleted file mode 100644
index c79ff32a75..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3370.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
- ServingCellMeasurement
-
- 3370
- urn:oma:lwm2m:ext:3370
- 1.0
- 1.0
- Single
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- pci
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rsrp
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rsrq
- R
- Single
- Mandatory
- Integer
-
-
-
-
- dlEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3371.xml b/common/transport/lwm2m/src/main/resources/models/3371.xml
deleted file mode 100644
index 8267b8ed81..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3371.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
- NeighborCellMeasurements
-
- 3371
- urn:oma:lwm2m:ext:3371
- 1.0
- 1.0
- Multiple
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- pci
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rsrp
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rsrq
- R
- Single
- Mandatory
- Integer
-
-
-
-
- dlEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3372.xml b/common/transport/lwm2m/src/main/resources/models/3372.xml
deleted file mode 100644
index d08c1dad3a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3372.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
- TimingAdvance
-
- 3372
- urn:oma:lwm2m:ext:3372
- 1.0
- 1.0
- Single
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- timingAdvance
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3373.xml b/common/transport/lwm2m/src/main/resources/models/3373.xml
deleted file mode 100644
index 9a4191787f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3373.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
- txPowerHeadroomEvent
-
- 3373
- urn:oma:lwm2m:ext:3373
- 1.0
- 1.0
- Single
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- headroom-value
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3374.xml b/common/transport/lwm2m/src/main/resources/models/3374.xml
deleted file mode 100644
index abc9cc926f..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3374.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
- radioLinkMonitoring
-
- 3374
- urn:oma:lwm2m:ext:3374
- 1.0
- 1.0
- Single
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- outOfSyncCount
- R
- Single
- Mandatory
- Integer
-
-
-
-
- inSyncCount
- R
- Single
- Mandatory
- Integer
-
-
-
-
- t310Timer
- R
- Single
- Mandatory
- Boolean
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3375.xml b/common/transport/lwm2m/src/main/resources/models/3375.xml
deleted file mode 100644
index e1df9f4851..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3375.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-
-
- PagingDRX
-
- 3375
- urn:oma:lwm2m:ext:3375
- 1.0
- 1.0
- Single
- Optional
-
- dlEarfcn
- R
- Single
- Mandatory
- Integer
-
-
-
-
- pci
- R
- Single
- Mandatory
- Integer
-
-
-
-
- pagingCycle
- R
- Single
- Mandatory
- Integer
-
-
-
-
- DrxNb
- R
- Single
- Mandatory
- Integer
-
-
-
-
- ueID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- drxSysFrameNumOffset
- R
- Single
- Mandatory
- Integer
-
-
-
-
- drxSubFrameNumOffset
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3376.xml b/common/transport/lwm2m/src/main/resources/models/3376.xml
deleted file mode 100644
index 542f816da0..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3376.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
- txPowerBackOffEvent
-
- 3376
- urn:oma:lwm2m:ext:3376
- 1.0
- 1.0
- Single
- Optional
-
- TxPowerBackoff
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3377.xml b/common/transport/lwm2m/src/main/resources/models/3377.xml
deleted file mode 100644
index 515eb36439..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3377.xml
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
- Message3Report
-
- 3377
- urn:oma:lwm2m:ext:3377
- 1.0
- 1.0
- Single
- Optional
-
- tpc
- R
- Single
- Mandatory
- Integer
-
-
-
-
- resourceIndicatorValue
- R
- Single
- Mandatory
- Integer
-
-
-
-
- cqi
- R
- Single
- Mandatory
- Integer
-
-
-
-
- uplinkDelay
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- hoppingEnabled
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- numRb
- R
- Single
- Mandatory
- Integer
-
-
-
-
- transportBlockSizeIndex
- R
- Single
- Mandatory
- Integer
-
-
-
-
- ModulationType
- R
- Single
- Mandatory
- Integer
-
-
-
-
- redundancyVersionIndex
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3378.xml b/common/transport/lwm2m/src/main/resources/models/3378.xml
deleted file mode 100644
index 0855f5798a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3378.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
- PbchDecodingResults
-
- 3378
- urn:oma:lwm2m:ext:3378
- 1.0
- 1.0
- Single
- Optional
-
- servingCellID
- R
- Single
- Mandatory
- Integer
-
-
-
-
- crcResult
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3379.xml b/common/transport/lwm2m/src/main/resources/models/3379.xml
deleted file mode 100644
index 0ac1648961..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3379.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
- pucchPowerControl
-
- 3379
- urn:oma:lwm2m:ext:3379
- 1.0
- 1.0
- Single
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- pucchTxPowerValue
-
- Single
- Mandatory
- Integer
-
-
-
-
- dlPathLoss
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3380-2_0.xml b/common/transport/lwm2m/src/main/resources/models/3380-2_0.xml
deleted file mode 100644
index 27545a6345..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3380-2_0.xml
+++ /dev/null
@@ -1,204 +0,0 @@
-
-
- PrachReport
-
- 3380
- urn:oma:lwm2m:ext:3380:2.0
- 1.0
- 2.0
- Single
- Optional
-
- sysFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subFrameNumber
- R
- Single
- Mandatory
- Integer
-
-
-
-
- rachTxPower
- R
- Single
- Mandatory
- Integer
-
-
-
-
- zadOffSeqNum
- R
- Single
- Mandatory
- Integer
-
-
-
-
- prachConfig
- R
- Single
- Mandatory
- Integer
-
-
-
-
- preambleFormat
- R
- Single
- Mandatory
- Integer
-
-
-
-
- maxTransmissionMsg3
- R
- Single
- Mandatory
- Integer
-
-
-
-
- raResponseWindowSize
- R
- Single
- Mandatory
- Integer
-
-
-
-
- RachRequestResult
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- ce_mode
- R
- Single
- Mandatory
- Integer
-
-
-
-
- ce_level
- R
- Single
- Mandatory
- Integer
-
-
-
-
- num_prach_repetition
- R
- Single
- Mandatory
- Integer
-
-
-
-
- prach_repetition_seq
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3381.xml b/common/transport/lwm2m/src/main/resources/models/3381.xml
deleted file mode 100644
index db2e4d52e8..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3381.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
- VolteCallEvent
-
- 3381
- urn:oma:lwm2m:ext:3381
- 1.0
- 1.0
- Single
- Optional
-
- callStatus
- R
- Single
- Mandatory
- Integer
-
-
-
-
- callType
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3382.xml b/common/transport/lwm2m/src/main/resources/models/3382.xml
deleted file mode 100644
index 8f066837c8..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3382.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
- SipRegistrationEvent
-
- 3382
- urn:oma:lwm2m:ext:3382
- 1.0
- 1.0
- Single
- Optional
-
- registrationType
- R
- Single
- Mandatory
- Integer
-
-
-
-
- registrationResult
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3383.xml b/common/transport/lwm2m/src/main/resources/models/3383.xml
deleted file mode 100644
index 663ac45faa..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3383.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
- sipPublishEvent
-
- 3383
- urn:oma:lwm2m:ext:3383
- 1.0
- 1.0
- Single
- Optional
-
- publishResult
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3384.xml b/common/transport/lwm2m/src/main/resources/models/3384.xml
deleted file mode 100644
index a18c6b910b..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3384.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
- sipSubscriptionEvent
-
- 3384
- urn:oma:lwm2m:ext:3384
- 1.0
- 1.0
- Single
- Optional
-
- eventType
- R
- Single
- Mandatory
- Integer
-
-
-
-
- subscriptionResult
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3385.xml b/common/transport/lwm2m/src/main/resources/models/3385.xml
deleted file mode 100644
index cc0a99182a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3385.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
- volteCallStateChangeEvent
-
- 3385
- urn:oma:lwm2m:ext:3385
- 1.0
- 1.0
- Single
- Optional
-
- callStatus
- R
- Single
- Mandatory
- Integer
-
-
-
-
- VolteCallStateChangeCause
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/3386.xml b/common/transport/lwm2m/src/main/resources/models/3386.xml
deleted file mode 100644
index 43937efadb..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/3386.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
- VoLTErtpPacketLoss
- 1]]>
- 3386
- urn:oma:lwm2m:ext:3386
- 1.0
- 1.0
- Single
- Optional
-
- ssrc
- R
- Single
- Mandatory
- Integer
-
-
-
-
- packetsLost
- R
- Single
- Mandatory
- Integer
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_APN_Connection_Profile-v1_0_1.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_APN_Connection_Profile-v1_0_1.xml
deleted file mode 100644
index 924e822fc6..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_APN_Connection_Profile-v1_0_1.xml
+++ /dev/null
@@ -1,324 +0,0 @@
-
-
-
-
- LWM2M APN Connection Profile
-
- 11
-
- urn:oma:lwm2m:oma:11
- 1.0
- 1.0
- Multiple
- Optional
-
- Profile name
- RW
- Single
- Mandatory
- String
-
-
-
-
- APN
- RW
- Single
- Optional
- String
-
-
-
-
- Auto select APN by device
- RW
- Single
- Optional
- Boolean
-
-
-
-
- Enable status
- RW
- Single
- Optional
- Boolean
-
-
-
-
- Authentication Type
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- User Name
- RW
- Single
- Optional
- String
-
-
-
-
- Secret
- RW
- Single
- Optional
- String
-
-
-
-
- Reconnect Schedule
- RW
- Single
- Optional
- String
-
-
-
-
- Validity (MCC, MNC)
- RW
- Multiple
- Optional
- String
-
-
-
-
- Connection establishment time (1)
- R
- Multiple
- Optional
- Time
-
-
-
-
- Connection establishment result (1)
- R
- Multiple
- Optional
- Integer
-
-
-
-
-
- Connection establishment reject cause (1)
- R
- Multiple
- Optional
- Integer
- 0..111
-
-
-
- Connection end time (1)
- R
- Multiple
- Optional
- Time
-
-
-
-
- TotalBytesSent
- R
- Single
- Optional
- Integer
-
-
-
-
- TotalBytesReceived
- R
- Single
- Optional
- Integer
-
-
-
-
- IP address (2)
- RW
- Multiple
- Optional
- String
-
-
-
-
- Prefix length(2)
- RW
- Multiple
- Optional
- String
-
-
-
-
- Subnet mask (2)
- RW
- Multiple
- Optional
- String
-
-
-
-
- Gateway (2)
- RW
- Multiple
- Optional
- String
-
-
-
-
- Primary DNS address (2)
- RW
- Multiple
- Optional
- String
-
-
-
-
- Secondary DNS address (2)
- RW
- Multiple
- Optional
- String
-
-
-
-
- QCI (3)
- R
- Single
- Optional
- Integer
- 1..9
-
-
-
- Vendor specific extensions
- R
- Single
- Optional
- Objlnk
-
-
-
-
- TotalPacketsSent
- R
- Single
- Optional
- Integer
-
-
-
-
- PDN Type
- RW
- Single
- Optional
- Integer
-
-
-
-
-
- APN Rate Control
- R
- Single
- Optional
- Integer
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_Bearer_Selection-v1_0_1.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_Bearer_Selection-v1_0_1.xml
deleted file mode 100644
index 307df73553..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_Bearer_Selection-v1_0_1.xml
+++ /dev/null
@@ -1,211 +0,0 @@
-
-
-
-
- LWM2M Bearer Selection
-
- 13
- urn:oma:lwm2m:oma:13
- 1.0
- 1.0
- Single
- Optional
-
- Preferred Communications Bearer
- RW
- Multiple
- Optional
- Integer
- 8 bit
-
-
-
- Acceptable RSSI (GSM)
- RW
- Single
- Optional
- Integer
-
-
-
-
- Acceptable RSCP (UMTS)
- RW
- Single
- Optional
- Integer
-
-
-
-
- Acceptable RSRP (LTE)
- RW
- Single
- Optional
- Integer
-
-
-
-
- Acceptable RSSI (1xEV-DO)
- RW
- Single
- Optional
- Integer
-
-
-
-
- Cell lock list
- RW
- Single
- Optional
- String
-
-
-
-
- Operator list
- RW
- Single
- Optional
- String
-
-
-
-
- Operator list mode
- RW
- Single
- Optional
- Boolean
-
-
-
-
- List of available PLMNs
- R
- Single
- Optional
- String
-
-
-
-
- Vendor specific extensions
- R
- Single
- Optional
- Objlnk
-
-
-
-
- Acceptable RSRP (NB-IoT)
- RW
- Single
- Optional
- Integer
-
-
-
-
- Higher Priority PLMN Search Timer
- RW
- Single
- Optional
- Integer
-
-
-
-
- Attach without PDN connection
- RW
- Single
- Optional
- Boolean
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_Cellular_Connectivity-v1_0_1.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_Cellular_Connectivity-v1_0_1.xml
deleted file mode 100644
index 45499202ba..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_Cellular_Connectivity-v1_0_1.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-
-
-
- LWM2M Cellular Connectivity
-
- 10
- urn:oma:lwm2m:oma:10
- 1.0
- 1.0
- Single
- Optional
-
- SMSC address
- RW
- Single
- Optional
- String
-
-
-
-
- Disable radio period
- RW
- Single
- Optional
- Integer
- 0..65535
-
- 0 the device SHALL disconnect. When the period has elapsed the device MAY reconnect.]]>
-
- Module activation code
- RW
- Single
- Optional
- String
-
-
-
-
- Vendor specific extensions
- R
- Single
- Optional
- Objlnk
-
-
-
-
- PSM Timer (1)
- RW
- Single
- Optional
- Integer
-
- s
-
-
- Active Timer (1)
- RW
- Single
- Optional
- Integer
-
- s
-
-
- Serving PLMN Rate control
- R
- Single
- Optional
- Integer
-
-
-
-
- eDRX parameters for Iu mode (1)
- RW
- Single
- Optional
- Opaque
- 8 bit
-
-
-
- eDRX parameters for WB-S1 mode (1)
- RW
- Single
- Optional
- Opaque
- 8 bit
-
-
-
- eDRX parameters for NB-S1 mode (1)
- RW
- Single
- Optional
- Opaque
- 8 bit
-
-
-
- eDRX parameters for A/Gb mode (1)
- RW
- Single
- Optional
- Opaque
- 8 bit
-
-
-
- Activated Profile Names
- R
- Multiple
- Mandatory
- Objlnk
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_DevCapMgmt-v1_0.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_DevCapMgmt-v1_0.xml
deleted file mode 100644
index 6569894e18..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_DevCapMgmt-v1_0.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-
-
-
-
-
-
- DevCapMgmt
-
- 15
- urn:oma:lwm2m:oma:15
- Multiple
- Optional
-
- Property
- R
- Single
- Mandatory
- String
-
-
-
-
- Group
- R
- Single
- Mandatory
- Integer
- 0-15
-
-
-
- Description
- R
- Single
- Optional
- String
-
-
-
-
- Attached
- R
- Single
- Optional
- Boolean
-
-
-
-
- Enabled
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- opEnable
- E
- Single
- Mandatory
-
-
-
-
-
- opDisable
- E
- Multiple
- Mandatory
-
-
-
-
-
- NotifyEn
- RW
- Single
- Optional
- Boolean
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_LOCKWIPE-v1_0_1.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_LOCKWIPE-v1_0_1.xml
deleted file mode 100644
index 912add1a0a..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_LOCKWIPE-v1_0_1.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-
-
-
-
-
-
- Lock and Wipe
-
- 8
- urn:oma:lwm2m:oma:8
- Single
- Optional
-
- State
- RW
- Single
- Mandatory
- Integer
- 0-2
-
-
-
- Lock target
- W
- Multiple
- Mandatory
- String
-
-
-
-
- Wipe item
- R
- Multiple
- Optional
- String
-
-
-
-
- Wipe
- E
- Single
- Mandatory
-
-
-
-
-
-
- Wipe target
- W
- Multiple
- Mandatory
- String
-
-
-
- Lock or Wipe Operation Result
- R
- Single
- Mandatory
- Integer
- 0-8
-
-
-
-
-
-
\ No newline at end of file
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_Portfolio-v1_0.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_Portfolio-v1_0.xml
deleted file mode 100644
index 8147fc64a2..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_Portfolio-v1_0.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
- Portfolio
-
- 16
- urn:oma:lwm2m:oma:16 1.0
- 1.0 Multiple
- Optional
-
- Identity
- RW
- Multiple
- Mandatory
- String
-
-
-
-
- GetAuthData
- E
- Single
- Optional
-
-
-
-
-
- AuthData
- R
- Multiple
- Optional
- Opaque
-
-
-
-
- AuthStatus
- R
- Single
- Optional
- Integer
- [0-2]
-
-
-
-
-
-
\ No newline at end of file
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_Software_Component-v1_0.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_Software_Component-v1_0.xml
deleted file mode 100644
index 2cbdc8b76b..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_Software_Component-v1_0.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
- LWM2M Software Component
-
- 14
- urn:oma:lwm2m:oma:14
- Multiple
- Optional
-
- -
-
Component Identity
- R
- Single
- Optional
- String
- 0-255 bytes
-
-
-
- -
-
Component Pack
- R
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Component Version
- R
- Single
- Optional
- String
- 0-255 bytes
-
-
-
- -
-
Activate
- E
- Single
- Optional
-
-
-
-
-
-
- Deactivate
- E
- Single
- Optional
-
-
-
-
-
- Activation State
- R
- Single
- Optional
- Boolean
-
-
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_Software_Management-v1_0.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_Software_Management-v1_0.xml
deleted file mode 100644
index 33d9a62f4c..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_Software_Management-v1_0.xml
+++ /dev/null
@@ -1,279 +0,0 @@
-
-
-
-
-
-
- LWM2M Software Management
-
- 9
- urn:oma:lwm2m:oma:9
- Multiple
- Optional
-
- -
-
PkgName
- R
- Single
- Mandatory
- String
- 0-255 bytes
-
-
-
- -
-
PkgVersion
- R
- Single
- Mandatory
- String
- 0-255 bytes
-
-
-
- -
-
Package
- W
- Single
- Optional
- Opaque
-
-
-
-
- -
-
Package URI
- W
- Single
- Optional
- String
- 0-255 bytes
-
-
-
-
- Install
- E
- Single
- Mandatory
-
-
-
-
-
- Checkpoint
- R
- Single
- Optional
- Objlnk
-
-
-
-
- Uninstall
- E
- Single
- Mandatory
-
-
-
-
-
- Update State
- R
- Single
- Mandatory
- Integer
- 0-4
-
-
-
- Update Supported Objects
- RW
- Single
- Optional
- Boolean
-
-
-
-
- Update Result
- R
- Single
- Mandatory
- Integer
- 0-200
-
-
-
- Activate
- E
- Single
- Mandatory
-
-
-
-
-
- Deactivate
- E
- Single
- Mandatory
-
-
-
-
-
- Activation State
- R
- Single
- Mandatory
- Boolean
-
-
-
-
- Package Settings
- RW
- Single
- Optional
- Objlnk
-
-
-
-
- User Name
- W
- Single
- Optional
- String
- 0-255 bytes
-
-
-
- Password
- W
- Single
- Optional
- String
- 0-255 bytes
-
-
-
-
-
-
diff --git a/common/transport/lwm2m/src/main/resources/models/LWM2M_WLAN_connectivity4-v1_0.xml b/common/transport/lwm2m/src/main/resources/models/LWM2M_WLAN_connectivity4-v1_0.xml
deleted file mode 100644
index 71252b2b5c..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LWM2M_WLAN_connectivity4-v1_0.xml
+++ /dev/null
@@ -1,572 +0,0 @@
-
-
-
-
-
-
- WLAN connectivity
-
- 12
- urn:oma:lwm2m:oma:12
-
-
- Multiple
- Optional
-
- Interface name
- RW
- Single
- Mandatory
- String
-
-
-
-
- Enable
- RW
- Single
- Mandatory
- Boolean
-
-
-
-
- Radio Enabled
- RW
- Single
- Optional
- Integer
-
-
-
-
- Status
- R
- Single
- Mandatory
- Integer
-
-
-
-
- BSSID
- R
- Single
- Mandatory
- String
- 12 bytes
-
-
-
- SSID
- RW
- Single
- Mandatory
- String
- 1-32 Bytes
-
-
-
- Broadcast SSID
- RW
- Single
- Optional
- Boolean
-
-
-
-
- Beacon Enabled
- RW
- Single
- Optional
- Boolean
-
-
-
-
- Mode
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- Channel
- RW
- Single
- Mandatory
- Integer
- 0-255
-
-
-
- Auto Channel
- RW
- Single
- Optional
- Boolean
-
-
-
-
- Supported Channels
- RW
- Multiple
- Optional
- Integer
-
-
-
-
- Channels In Use
- RW
- Multiple
- Optional
- Integer
-
-
-
-
- Regulatory Domain
- RW
- Single
- Optional
- String
- 3 Bytes
-
-
-
- Standard
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- Authentication Mode
- RW
- Single
- Mandatory
- Integer
-
-
-
-
- Encryption Mode
- RW
- Single
- Optional
- Integer
-
-
-
-
- WPA Pre Shared Key
- W
- Single
- Optional
- String
- 64 Bytes
-
-
-
- WPA Key Phrase
- W
- Single
- Optional
- String
- 1-64 Bytes
-
-
-
- WEP Encryption Type
- RW
- Single
- Optional
- Integer
-
-
-
-
- WEP Key Index
- RW
- Single
- Optional
- Integer
- [1:4]
-
-
-
- WEP Key Phrase
- W
- Single
- Optional
- String
- 1-64 Bytes
-
-
-
- WEP Key 1
- W
- Single
- Optional
- String
- 0 or 26 Bytes
-
-
-
- WEP Key 2
- W
- Single
- Optional
- String
- 0 or 26 Bytes
-
-
-
- WEP Key 3
- W
- Single
- Optional
- String
- 10 or 26 Bytes
-
-
-
- WEP Key 4
- W
- Single
- Optional
- String
- 10 or 26 Bytes
-
-
-
- RADIUS Server
- RW
- Single
- Optional
- String
- 1-256 Bytes
-
-
-
- RADIUS Server Port
- RW
- Single
- Optional
- Integer
-
-
-
-
- RADIUS Secret
- W
- Single
- Optional
- String
- 1-256 Bytes
-
-
-
- WMM Supported
- R
- Single
- Optional
- Boolean
-
-
-
-
- WMM Enabled
- RW
- Single
- Optional
- Boolean
-
-
-
-
- MAC Control Enabled
- RW
- Single
- Optional
- Boolean
-
-
-
-
- MAC Address List
- RW
- Multiple
- Optional
- String
- 12 Bytes
-
-
-
- Total Bytes Sent
- R
- Single
- Optional
- Integer
-
-
-
-
- Total Bytes Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Total Packets Sent
- R
- Single
- Optional
- Integer
-
-
-
-
- Total Packets Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Transmit Errors
- R
- Single
- Optional
- Integer
-
-
-
-
- Receive Errors
- R
- Single
- Optional
- Integer
-
-
-
-
- Unicast Packets Sent
- R
- Single
- Optional
- Integer
-
-
-
-
- Unicast Packets Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Multicast Packets Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Multicast Packets Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Broadcast Packets Sent
- R
- Single
- Optional
- Integer
-
-
-
-
- 44 Broadcast Packets Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Discard Packets Sent
- R
- Single
- Optional
- Integer
-
-
-
-
- Discard Packets Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Unknown Packets Received
- R
- Single
- Optional
- Integer
-
-
-
-
- Vendor specific extensions
- R
- Single
- Optional
- Objlnk
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/common/transport/lwm2m/src/main/resources/models/LwM2M_EventLog-V1_0.xml b/common/transport/lwm2m/src/main/resources/models/LwM2M_EventLog-V1_0.xml
deleted file mode 100644
index 7cc3f918b2..0000000000
--- a/common/transport/lwm2m/src/main/resources/models/LwM2M_EventLog-V1_0.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
-
-
-
-
- Event Log
-
- 20
- urn:oma:lwm2m:oma:20
- 1.0
- 1.0
- Single
- Optional
-
- LogClass
- RW
- Single
- Optional
- Integer
- 255
-
-
-
- LogStart
- E
- Single
- Optional
-
-
-
-
-
- LogStop
- E
- Single
- Optional
-
-
-
-
-
- LogStatus
- R
- Single
- Optional
- Integer
- 8-Bits
-
-
-
- LogData
- R
- Single
- Mandatory
- Opaque
-
-
-
-
- LogDataFormat
- RW
- Single
- Optional
- Integer
- 255
-
-
-
-
-
-
\ No newline at end of file
diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportResourceCache.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportResourceCache.java
new file mode 100644
index 0000000000..34e95189fa
--- /dev/null
+++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportResourceCache.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright © 2016-2021 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.common.transport;
+
+import org.thingsboard.server.common.data.Resource;
+import org.thingsboard.server.common.data.ResourceType;
+import org.thingsboard.server.common.data.id.TenantId;
+
+public interface TransportResourceCache {
+
+ Resource get(TenantId tenantId, ResourceType resourceType, String resourceId);
+
+ void update(TenantId tenantId, ResourceType resourceType, String resourceI);
+
+ void evict(TenantId tenantId, ResourceType resourceType, String resourceId);
+}
diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportService.java
index e642e7f7b2..04b08272b1 100644
--- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportService.java
+++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportService.java
@@ -25,6 +25,8 @@ import org.thingsboard.server.gen.transport.TransportProtos.GetAttributeRequestM
import org.thingsboard.server.gen.transport.TransportProtos.GetEntityProfileRequestMsg;
import org.thingsboard.server.gen.transport.TransportProtos.GetEntityProfileResponseMsg;
import org.thingsboard.server.gen.transport.TransportProtos.GetOrCreateDeviceFromGatewayRequestMsg;
+import org.thingsboard.server.gen.transport.TransportProtos.GetResourceRequestMsg;
+import org.thingsboard.server.gen.transport.TransportProtos.GetResourceResponseMsg;
import org.thingsboard.server.gen.transport.TransportProtos.LwM2MRequestMsg;
import org.thingsboard.server.gen.transport.TransportProtos.LwM2MResponseMsg;
import org.thingsboard.server.gen.transport.TransportProtos.PostAttributeMsg;
@@ -51,6 +53,8 @@ public interface TransportService {
GetEntityProfileResponseMsg getEntityProfile(GetEntityProfileRequestMsg msg);
+ GetResourceResponseMsg getResource(GetResourceRequestMsg msg);
+
void process(DeviceTransportType transportType, ValidateDeviceTokenRequestMsg msg,
TransportServiceCallback callback);
diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java
index 810848a5ca..1208ace313 100644
--- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java
+++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java
@@ -18,10 +18,10 @@ package org.thingsboard.server.common.transport.lwm2m;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
-import org.eclipse.leshan.core.model.ObjectLoader;
import org.eclipse.leshan.core.model.ObjectModel;
import org.eclipse.leshan.core.model.ResourceModel;
import org.eclipse.leshan.core.node.LwM2mPath;
+import org.eclipse.leshan.server.model.LwM2mModelProvider;
import org.eclipse.leshan.server.registration.Registration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@@ -38,16 +38,13 @@ import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
-import java.util.Arrays;
import java.util.List;
-import java.util.stream.Collectors;
@Slf4j
@Component
@ConditionalOnExpression("('${service.type:null}'=='tb-transport' && '${transport.lwm2m.enabled:false}'=='true') || '${service.type:null}'=='monolith' || '${service.type:null}'=='tb-core'")
public class LwM2MTransportConfigServer {
-
@Getter
private String MODEL_PATH_DEFAULT = "models";
@@ -84,7 +81,11 @@ public class LwM2MTransportConfigServer {
@Getter
@Setter
- private List modelsValue;
+ private List modelsValueCommon;
+
+ @Getter
+ @Setter
+ private LwM2mModelProvider modelProvider;
@Getter
@Value("${transport.lwm2m.timeout:}")
@@ -188,29 +189,9 @@ public class LwM2MTransportConfigServer {
@PostConstruct
public void init() {
- modelsValue = ObjectLoader.loadDefault();
- File path = getPathModels();
- if (path.isDirectory()) {
- try {
- modelsValue.addAll(ObjectLoader.loadObjectsFromDir(path));
- log.info(" [{}] Models directory is a directory", path.getAbsoluteFile());
- } catch (Exception e) {
- log.error(" [{}] Could not parse the resource definition file", e.toString());
- }
- } else {
- log.error(" [{}] Read Models", path.getAbsoluteFile());
- }
this.getInKeyStore();
}
- private File getPathModels() {
- Path pathModels = (modelPathFile != null && !modelPathFile.isEmpty()) ? Paths.get(modelPathFile) :
- (new File(Paths.get(getBaseDirPath(), PATH_DATA, MODEL_PATH_DEFAULT).toUri()).isDirectory()) ?
- Paths.get(getBaseDirPath(), PATH_DATA, MODEL_PATH_DEFAULT) :
- Paths.get(getBaseDirPath(), APP_DIR, TRANSPORT_DIR, LWM2M_DIR, SRC_DIR, MAIN_DIR, RESOURCES_DIR, MODEL_PATH_DEFAULT);
- return (pathModels != null) ? new File(pathModels.toUri()) : null;
- }
-
private KeyStore getInKeyStore() {
try {
if (keyStoreValue != null && keyStoreValue.size() > 0)
@@ -253,12 +234,7 @@ public class LwM2MTransportConfigServer {
}
public ResourceModel getResourceModel(Registration registration, LwM2mPath pathIds) {
- String pathLink = "/" + pathIds.getObjectId() + "/" + pathIds.getObjectInstanceId();
- return (Arrays.stream(registration.getObjectLinks()).filter(p-> p.getUrl().equals(pathLink)).findFirst().isPresent() &&
- this.modelsValue.stream().filter(v -> v.id == pathIds.getObjectId()).collect(Collectors.toList()).size() > 0) &&
- this.modelsValue.stream().filter(v -> v.id == pathIds.getObjectId()).collect(Collectors.toList()).get(0).resources.containsKey(pathIds.getResourceId()) ?
- this.modelsValue.stream().filter(v -> v.id == pathIds.getObjectId()).collect(Collectors.toList()).get(0).resources.get(pathIds.getResourceId()) :
- null;
+ return this.modelProvider.getObjectModel(registration).getResourceModel(pathIds.getObjectId(), pathIds.getResourceId());
}
public ResourceModel.Type getResourceModelType(Registration registration, LwM2mPath pathIds) {
@@ -270,4 +246,5 @@ public class LwM2MTransportConfigServer {
ResourceModel resource = this.getResourceModel(registration, pathIds);
return (resource == null) ? ResourceModel.Operations.NONE : resource.operations;
}
+
}
diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportResourceCache.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportResourceCache.java
new file mode 100644
index 0000000000..5160479d1e
--- /dev/null
+++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportResourceCache.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright © 2016-2021 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.common.transport.service;
+
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+import org.thingsboard.server.common.data.Resource;
+import org.thingsboard.server.common.data.ResourceType;
+import org.thingsboard.server.common.data.id.TenantId;
+import org.thingsboard.server.common.transport.TransportResourceCache;
+import org.thingsboard.server.common.transport.TransportService;
+import org.thingsboard.server.common.transport.util.DataDecodingEncodingService;
+import org.thingsboard.server.gen.transport.TransportProtos;
+import org.thingsboard.server.queue.util.TbTransportComponent;
+
+import java.util.Optional;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+@Slf4j
+@Component
+@TbTransportComponent
+public class DefaultTransportResourceCache implements TransportResourceCache {
+
+ private final Lock resourceFetchLock = new ReentrantLock();
+ private final ConcurrentMap resources = new ConcurrentHashMap<>();
+ private final Set keys = ConcurrentHashMap.newKeySet();
+ private final DataDecodingEncodingService dataDecodingEncodingService;
+ private final TransportService transportService;
+
+ public DefaultTransportResourceCache(DataDecodingEncodingService dataDecodingEncodingService, @Lazy TransportService transportService) {
+ this.dataDecodingEncodingService = dataDecodingEncodingService;
+ this.transportService = transportService;
+ }
+
+ @Override
+ public Resource get(TenantId tenantId, ResourceType resourceType, String resourceId) {
+ ResourceKey resourceKey = new ResourceKey(tenantId, resourceType, resourceId);
+ Resource resource;
+
+ if (keys.contains(resourceKey)) {
+ resource = resources.get(resourceKey);
+ if (resource == null) {
+ resource = resources.get(resourceKey.getSystemKey());
+ }
+ } else {
+ resourceFetchLock.lock();
+ try {
+ if (keys.contains(resourceKey)) {
+ resource = resources.get(resourceKey);
+ if (resource == null) {
+ resource = resources.get(resourceKey.getSystemKey());
+ }
+ } else {
+ resource = fetchResource(resourceKey);
+ keys.add(resourceKey);
+ }
+ } finally {
+ resourceFetchLock.unlock();
+ }
+ }
+
+ return resource;
+ }
+
+ private Resource fetchResource(ResourceKey resourceKey) {
+ UUID tenantId = resourceKey.getTenantId().getId();
+ TransportProtos.GetResourceRequestMsg.Builder builder = TransportProtos.GetResourceRequestMsg.newBuilder();
+ builder
+ .setTenantIdLSB(tenantId.getLeastSignificantBits())
+ .setTenantIdMSB(tenantId.getMostSignificantBits())
+ .setResourceType(resourceKey.resourceType.name())
+ .setResourceId(resourceKey.resourceId);
+ TransportProtos.GetResourceResponseMsg responseMsg = transportService.getResource(builder.build());
+
+ Optional optionalResource = dataDecodingEncodingService.decode(responseMsg.getResource().toByteArray());
+ if (optionalResource.isPresent()) {
+ Resource resource = optionalResource.get();
+ resources.put(new ResourceKey(resource.getTenantId(), resource.getResourceType(), resource.getResourceId()), resource);
+ return resource;
+ }
+
+ return null;
+ }
+
+ @Override
+ public void update(TenantId tenantId, ResourceType resourceType, String resourceId) {
+ ResourceKey resourceKey = new ResourceKey(tenantId, resourceType, resourceId);
+ if (keys.contains(resourceKey) || resources.containsKey(resourceKey)) {
+ fetchResource(resourceKey);
+ }
+ }
+
+ @Override
+ public void evict(TenantId tenantId, ResourceType resourceType, String resourceId) {
+ ResourceKey resourceKey = new ResourceKey(tenantId, resourceType, resourceId);
+ keys.remove(resourceKey);
+ resources.remove(resourceKey);
+ }
+
+ @Data
+ private static class ResourceKey {
+ private final TenantId tenantId;
+ private final ResourceType resourceType;
+ private final String resourceId;
+
+ public ResourceKey getSystemKey() {
+ return new ResourceKey(TenantId.SYS_TENANT_ID, resourceType, resourceId);
+ }
+ }
+}
diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java
index 473eeea42c..6a8526f543 100644
--- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java
+++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java
@@ -31,6 +31,7 @@ import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.DeviceProfile;
import org.thingsboard.server.common.data.DeviceTransportType;
import org.thingsboard.server.common.data.EntityType;
+import org.thingsboard.server.common.data.ResourceType;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.DeviceId;
import org.thingsboard.server.common.data.id.DeviceProfileId;
@@ -49,6 +50,7 @@ import org.thingsboard.server.common.stats.StatsFactory;
import org.thingsboard.server.common.stats.StatsType;
import org.thingsboard.server.common.transport.SessionMsgListener;
import org.thingsboard.server.common.transport.TransportDeviceProfileCache;
+import org.thingsboard.server.common.transport.TransportResourceCache;
import org.thingsboard.server.common.transport.TransportService;
import org.thingsboard.server.common.transport.TransportServiceCallback;
import org.thingsboard.server.common.transport.TransportTenantProfileCache;
@@ -61,7 +63,6 @@ import org.thingsboard.server.common.transport.util.JsonUtils;
import org.thingsboard.server.gen.transport.TransportProtos;
import org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceRequestMsg;
import org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceResponseMsg;
-import org.thingsboard.server.gen.transport.TransportProtos.SessionInfoProto;
import org.thingsboard.server.gen.transport.TransportProtos.ToCoreMsg;
import org.thingsboard.server.gen.transport.TransportProtos.ToRuleEngineMsg;
import org.thingsboard.server.gen.transport.TransportProtos.ToTransportMsg;
@@ -131,6 +132,7 @@ public class DefaultTransportService implements TransportService {
private final TransportRateLimitService rateLimitService;
private final DataDecodingEncodingService dataDecodingEncodingService;
private final SchedulerComponent scheduler;
+ private final TransportResourceCache transportResourceCache;
protected TbQueueRequestTemplate, TbProtoQueueMsg> transportApiRequestTemplate;
protected TbQueueProducer> ruleEngineMsgProducer;
@@ -157,7 +159,7 @@ public class DefaultTransportService implements TransportService {
TransportDeviceProfileCache deviceProfileCache,
TransportTenantProfileCache tenantProfileCache,
TbApiUsageClient apiUsageClient, TransportRateLimitService rateLimitService,
- DataDecodingEncodingService dataDecodingEncodingService, SchedulerComponent scheduler) {
+ DataDecodingEncodingService dataDecodingEncodingService, SchedulerComponent scheduler, TransportResourceCache transportResourceCache) {
this.serviceInfoProvider = serviceInfoProvider;
this.queueProvider = queueProvider;
this.producerProvider = producerProvider;
@@ -169,6 +171,7 @@ public class DefaultTransportService implements TransportService {
this.rateLimitService = rateLimitService;
this.dataDecodingEncodingService = dataDecodingEncodingService;
this.scheduler = scheduler;
+ this.transportResourceCache = transportResourceCache;
}
@PostConstruct
@@ -254,6 +257,18 @@ public class DefaultTransportService implements TransportService {
}
}
+ @Override
+ public TransportProtos.GetResourceResponseMsg getResource(TransportProtos.GetResourceRequestMsg msg) {
+ TbProtoQueueMsg protoMsg =
+ new TbProtoQueueMsg<>(UUID.randomUUID(), TransportProtos.TransportApiRequestMsg.newBuilder().setResourceRequestMsg(msg).build());
+ try {
+ TbProtoQueueMsg response = transportApiRequestTemplate.send(protoMsg).get();
+ return response.getValue().getResourceResponseMsg();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
@Override
public void process(DeviceTransportType transportType, TransportProtos.ValidateDeviceTokenRequestMsg msg,
TransportServiceCallback callback) {
@@ -280,6 +295,7 @@ public class DefaultTransportService implements TransportService {
response -> callback.onSuccess(response.getValue().getValidateCredResponseMsg()), callback::onError, transportCallbackExecutor);
}
+ @Override
public void process(DeviceTransportType transportType, TransportProtos.ValidateDeviceX509CertRequestMsg msg, TransportServiceCallback callback) {
log.trace("Processing msg: {}", msg);
TbProtoQueueMsg protoMsg = new TbProtoQueueMsg<>(UUID.randomUUID(), TransportApiRequestMsg.newBuilder().setValidateX509CertRequestMsg(msg).build());
@@ -688,6 +704,18 @@ public class DefaultTransportService implements TransportService {
} else if (EntityType.DEVICE.equals(entityType)) {
rateLimitService.remove(new DeviceId(entityUuid));
}
+ } else if (toSessionMsg.hasResourceUpdateMsg()) {
+ TransportProtos.ResourceUpdateMsg msg = toSessionMsg.getResourceUpdateMsg();
+ TenantId tenantId = new TenantId(new UUID(msg.getTenantIdMSB(), msg.getTenantIdLSB()));
+ ResourceType resourceType = ResourceType.valueOf(msg.getResourceType());
+ String resourceId = msg.getResourceId();
+ transportResourceCache.update(tenantId, resourceType, resourceId);
+ } else if (toSessionMsg.hasResourceDeleteMsg()) {
+ TransportProtos.ResourceDeleteMsg msg = toSessionMsg.getResourceDeleteMsg();
+ TenantId tenantId = new TenantId(new UUID(msg.getTenantIdMSB(), msg.getTenantIdLSB()));
+ ResourceType resourceType = ResourceType.valueOf(msg.getResourceType());
+ String resourceId = msg.getResourceId();
+ transportResourceCache.evict(tenantId, resourceType, resourceId);
} else {
//TODO: should we notify the device actor about missed session?
log.debug("[{}] Missing session.", sessionId);
@@ -695,6 +723,7 @@ public class DefaultTransportService implements TransportService {
}
}
+
public void onProfileUpdate(DeviceProfile deviceProfile) {
long deviceProfileIdMSB = deviceProfile.getId().getId().getMostSignificantBits();
long deviceProfileIdLSB = deviceProfile.getId().getId().getLeastSignificantBits();
diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/util/ProtoWithFSTService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/util/ProtoWithFSTService.java
index a3b65c2248..4d0b8bb86a 100644
--- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/util/ProtoWithFSTService.java
+++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/util/ProtoWithFSTService.java
@@ -18,8 +18,6 @@ package org.thingsboard.server.common.transport.util;
import lombok.extern.slf4j.Slf4j;
import org.nustaq.serialization.FSTConfiguration;
import org.springframework.stereotype.Service;
-import org.thingsboard.server.common.msg.TbActorMsg;
-import org.thingsboard.server.common.transport.util.DataDecodingEncodingService;
import java.util.Optional;
@@ -33,8 +31,8 @@ public class ProtoWithFSTService implements DataDecodingEncodingService {
public Optional decode(byte[] byteArray) {
try {
@SuppressWarnings("unchecked")
- T msg = (T) config.asObject(byteArray);
- return Optional.of(msg);
+ T msg = byteArray != null && byteArray.length > 0 ? (T) config.asObject(byteArray) : null;
+ return Optional.ofNullable(msg);
} catch (IllegalArgumentException e) {
log.error("Error during deserialization message, [{}]", e.getMessage());
return Optional.empty();
diff --git a/common/util/src/main/java/org/thingsboard/common/util/JacksonUtil.java b/common/util/src/main/java/org/thingsboard/common/util/JacksonUtil.java
index b48030f714..8d498fa853 100644
--- a/common/util/src/main/java/org/thingsboard/common/util/JacksonUtil.java
+++ b/common/util/src/main/java/org/thingsboard/common/util/JacksonUtil.java
@@ -57,6 +57,15 @@ public class JacksonUtil {
}
}
+ public static T fromString(String string, TypeReference valueTypeRef) {
+ try {
+ return string != null ? OBJECT_MAPPER.readValue(string, valueTypeRef) : null;
+ } catch (IOException e) {
+ throw new IllegalArgumentException("The given string value: "
+ + string + " cannot be transformed to Json object", e);
+ }
+ }
+
public static String toString(Object value) {
try {
return value != null ? OBJECT_MAPPER.writeValueAsString(value) : null;
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java
new file mode 100644
index 0000000000..10771656e9
--- /dev/null
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2016-2021 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.dao.attributes;
+
+import lombok.AllArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import org.thingsboard.server.common.data.id.EntityId;
+
+import java.io.Serializable;
+
+@EqualsAndHashCode
+@Getter
+@AllArgsConstructor
+public class AttributeCacheKey implements Serializable {
+ private static final long serialVersionUID = 2013369077925351881L;
+
+ private final String scope;
+ private final EntityId entityId;
+ private final String key;
+
+ @Override
+ public String toString() {
+ return entityId + "_" + scope + "_" + key;
+ }
+}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeUtils.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeUtils.java
new file mode 100644
index 0000000000..b1fc82fe88
--- /dev/null
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeUtils.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright © 2016-2021 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.dao.attributes;
+
+import org.thingsboard.server.common.data.id.EntityId;
+import org.thingsboard.server.common.data.kv.AttributeKvEntry;
+import org.thingsboard.server.dao.exception.IncorrectParameterException;
+import org.thingsboard.server.dao.service.Validator;
+
+public class AttributeUtils {
+ public static void validate(EntityId id, String scope) {
+ Validator.validateId(id.getId(), "Incorrect id " + id);
+ Validator.validateString(scope, "Incorrect scope " + scope);
+ }
+
+ public static void validate(AttributeKvEntry kvEntry) {
+ if (kvEntry == null) {
+ throw new IncorrectParameterException("Key value entry can't be null");
+ } else if (kvEntry.getDataType() == null) {
+ throw new IncorrectParameterException("Incorrect kvEntry. Data type can't be null");
+ } else {
+ Validator.validateString(kvEntry.getKey(), "Incorrect kvEntry. Key can't be empty");
+ Validator.validatePositiveNumber(kvEntry.getLastUpdateTs(), "Incorrect last update ts. Ts should be positive");
+ }
+ }
+}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesCacheWrapper.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesCacheWrapper.java
new file mode 100644
index 0000000000..196204cda1
--- /dev/null
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesCacheWrapper.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright © 2016-2021 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.dao.attributes;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.cache.Cache;
+import org.springframework.cache.CacheManager;
+import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Service;
+import org.thingsboard.server.common.data.kv.AttributeKvEntry;
+
+import static org.thingsboard.server.common.data.CacheConstants.ATTRIBUTES_CACHE;
+
+@Service
+@ConditionalOnProperty(prefix = "cache.attributes", value = "enabled", havingValue = "true")
+@Primary
+@Slf4j
+public class AttributesCacheWrapper {
+ private final Cache attributesCache;
+
+ public AttributesCacheWrapper(CacheManager cacheManager) {
+ this.attributesCache = cacheManager.getCache(ATTRIBUTES_CACHE);
+ }
+
+ public Cache.ValueWrapper get(AttributeCacheKey attributeCacheKey) {
+ try {
+ return attributesCache.get(attributeCacheKey);
+ } catch (Exception e) {
+ log.debug("Failed to retrieve element from cache for key {}. Reason - {}.", attributeCacheKey, e.getMessage());
+ return null;
+ }
+ }
+
+ public void put(AttributeCacheKey attributeCacheKey, AttributeKvEntry attributeKvEntry) {
+ try {
+ attributesCache.put(attributeCacheKey, attributeKvEntry);
+ } catch (Exception e) {
+ log.debug("Failed to put element from cache for key {}. Reason - {}.", attributeCacheKey, e.getMessage());
+ }
+ }
+
+ public void evict(AttributeCacheKey attributeCacheKey) {
+ try {
+ attributesCache.evict(attributeCacheKey);
+ } catch (Exception e) {
+ log.debug("Failed to evict element from cache for key {}. Reason - {}.", attributeCacheKey, e.getMessage());
+ }
+ }
+}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java
index e70604353a..3eee300627 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/BaseAttributesService.java
@@ -15,31 +15,39 @@
*/
package org.thingsboard.server.dao.attributes;
-import com.google.common.collect.Lists;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.id.DeviceProfileId;
import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.kv.AttributeKvEntry;
-import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.service.Validator;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Collectors;
+
+import static org.thingsboard.server.dao.attributes.AttributeUtils.validate;
/**
* @author Andrew Shvayka
*/
@Service
+@ConditionalOnProperty(prefix = "cache.attributes", value = "enabled", havingValue = "false", matchIfMissing = true)
+@Primary
+@Slf4j
public class BaseAttributesService implements AttributesService {
+ private final AttributesDao attributesDao;
- @Autowired
- private AttributesDao attributesDao;
+ public BaseAttributesService(AttributesDao attributesDao) {
+ this.attributesDao = attributesDao;
+ }
@Override
public ListenableFuture> find(TenantId tenantId, EntityId entityId, String scope, String attributeKey) {
@@ -75,33 +83,14 @@ public class BaseAttributesService implements AttributesService {
public ListenableFuture> save(TenantId tenantId, EntityId entityId, String scope, List attributes) {
validate(entityId, scope);
attributes.forEach(attribute -> validate(attribute));
- List> futures = Lists.newArrayListWithExpectedSize(attributes.size());
- for (AttributeKvEntry attribute : attributes) {
- futures.add(attributesDao.save(tenantId, entityId, scope, attribute));
- }
- return Futures.allAsList(futures);
+
+ List> saveFutures = attributes.stream().map(attribute -> attributesDao.save(tenantId, entityId, scope, attribute)).collect(Collectors.toList());
+ return Futures.allAsList(saveFutures);
}
@Override
- public ListenableFuture> removeAll(TenantId tenantId, EntityId entityId, String scope, List keys) {
+ public ListenableFuture> removeAll(TenantId tenantId, EntityId entityId, String scope, List attributeKeys) {
validate(entityId, scope);
- return attributesDao.removeAll(tenantId, entityId, scope, keys);
- }
-
- private static void validate(EntityId id, String scope) {
- Validator.validateId(id.getId(), "Incorrect id " + id);
- Validator.validateString(scope, "Incorrect scope " + scope);
- }
-
- private static void validate(AttributeKvEntry kvEntry) {
- if (kvEntry == null) {
- throw new IncorrectParameterException("Key value entry can't be null");
- } else if (kvEntry.getDataType() == null) {
- throw new IncorrectParameterException("Incorrect kvEntry. Data type can't be null");
- } else {
- Validator.validateString(kvEntry.getKey(), "Incorrect kvEntry. Key can't be empty");
- Validator.validatePositiveNumber(kvEntry.getLastUpdateTs(), "Incorrect last update ts. Ts should be positive");
- }
+ return attributesDao.removeAll(tenantId, entityId, scope, attributeKeys);
}
-
}
diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/CachedAttributesService.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/CachedAttributesService.java
new file mode 100644
index 0000000000..87ddfeee9a
--- /dev/null
+++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/CachedAttributesService.java
@@ -0,0 +1,193 @@
+/**
+ * Copyright © 2016-2021 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.dao.attributes;
+
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.cache.Cache;
+import org.springframework.cache.CacheManager;
+import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Service;
+import org.thingsboard.server.common.data.EntityType;
+import org.thingsboard.server.common.data.id.DeviceProfileId;
+import org.thingsboard.server.common.data.id.EntityId;
+import org.thingsboard.server.common.data.id.TenantId;
+import org.thingsboard.server.common.data.kv.AttributeKvEntry;
+import org.thingsboard.server.common.data.kv.KvEntry;
+import org.thingsboard.server.common.stats.DefaultCounter;
+import org.thingsboard.server.common.stats.StatsFactory;
+import org.thingsboard.server.dao.service.Validator;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import static org.thingsboard.server.common.data.CacheConstants.ATTRIBUTES_CACHE;
+import static org.thingsboard.server.dao.attributes.AttributeUtils.validate;
+
+@Service
+@ConditionalOnProperty(prefix = "cache.attributes", value = "enabled", havingValue = "true")
+@Primary
+@Slf4j
+public class CachedAttributesService implements AttributesService {
+ private static final String STATS_NAME = "attributes.cache";
+
+ private final AttributesDao attributesDao;
+ private final AttributesCacheWrapper cacheWrapper;
+ private final DefaultCounter hitCounter;
+ private final DefaultCounter missCounter;
+
+ public CachedAttributesService(AttributesDao attributesDao,
+ AttributesCacheWrapper cacheWrapper,
+ StatsFactory statsFactory) {
+ this.attributesDao = attributesDao;
+ this.cacheWrapper = cacheWrapper;
+
+ this.hitCounter = statsFactory.createDefaultCounter(STATS_NAME, "result", "hit");
+ this.missCounter = statsFactory.createDefaultCounter(STATS_NAME, "result", "miss");
+ }
+
+ @Override
+ public ListenableFuture> find(TenantId tenantId, EntityId entityId, String scope, String attributeKey) {
+ validate(entityId, scope);
+ Validator.validateString(attributeKey, "Incorrect attribute key " + attributeKey);
+
+ AttributeCacheKey attributeCacheKey = new AttributeCacheKey(scope, entityId, attributeKey);
+ Cache.ValueWrapper cachedAttributeValue = cacheWrapper.get(attributeCacheKey);
+ if (cachedAttributeValue != null) {
+ hitCounter.increment();
+ AttributeKvEntry cachedAttributeKvEntry = (AttributeKvEntry) cachedAttributeValue.get();
+ return Futures.immediateFuture(Optional.ofNullable(cachedAttributeKvEntry));
+ } else {
+ missCounter.increment();
+ ListenableFuture> result = attributesDao.find(tenantId, entityId, scope, attributeKey);
+ return Futures.transform(result, foundAttrKvEntry -> {
+ // TODO: think if it's a good idea to store 'empty' attributes
+ cacheWrapper.put(attributeCacheKey, foundAttrKvEntry.orElse(null));
+ return foundAttrKvEntry;
+ }, MoreExecutors.directExecutor());
+ }
+ }
+
+ @Override
+ public ListenableFuture> find(TenantId tenantId, EntityId entityId, String scope, Collection attributeKeys) {
+ validate(entityId, scope);
+ attributeKeys.forEach(attributeKey -> Validator.validateString(attributeKey, "Incorrect attribute key " + attributeKey));
+
+ Map wrappedCachedAttributes = findCachedAttributes(entityId, scope, attributeKeys);
+
+ List cachedAttributes = wrappedCachedAttributes.values().stream()
+ .map(wrappedCachedAttribute -> (AttributeKvEntry) wrappedCachedAttribute.get())
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList());
+ if (wrappedCachedAttributes.size() == attributeKeys.size()) {
+ return Futures.immediateFuture(cachedAttributes);
+ }
+
+ Set notFoundAttributeKeys = new HashSet<>(attributeKeys);
+ notFoundAttributeKeys.removeAll(wrappedCachedAttributes.keySet());
+
+ ListenableFuture> result = attributesDao.find(tenantId, entityId, scope, notFoundAttributeKeys);
+ return Futures.transform(result, foundInDbAttributes -> mergeDbAndCacheAttributes(entityId, scope, cachedAttributes, notFoundAttributeKeys, foundInDbAttributes), MoreExecutors.directExecutor());
+
+ }
+
+ private Map findCachedAttributes(EntityId entityId, String scope, Collection attributeKeys) {
+ Map cachedAttributes = new HashMap<>();
+ for (String attributeKey : attributeKeys) {
+ Cache.ValueWrapper cachedAttributeValue = cacheWrapper.get(new AttributeCacheKey(scope, entityId, attributeKey));
+ if (cachedAttributeValue != null) {
+ hitCounter.increment();
+ cachedAttributes.put(attributeKey, cachedAttributeValue);
+ } else {
+ missCounter.increment();
+ }
+ }
+ return cachedAttributes;
+ }
+
+ private List mergeDbAndCacheAttributes(EntityId entityId, String scope, List cachedAttributes, Set notFoundAttributeKeys, List foundInDbAttributes) {
+ for (AttributeKvEntry foundInDbAttribute : foundInDbAttributes) {
+ AttributeCacheKey attributeCacheKey = new AttributeCacheKey(scope, entityId, foundInDbAttribute.getKey());
+ cacheWrapper.put(attributeCacheKey, foundInDbAttribute);
+ notFoundAttributeKeys.remove(foundInDbAttribute.getKey());
+ }
+ for (String key : notFoundAttributeKeys){
+ cacheWrapper.put(new AttributeCacheKey(scope, entityId, key), null);
+ }
+ List mergedAttributes = new ArrayList<>(cachedAttributes);
+ mergedAttributes.addAll(foundInDbAttributes);
+ return mergedAttributes;
+ }
+
+ @Override
+ public ListenableFuture> findAll(TenantId tenantId, EntityId entityId, String scope) {
+ validate(entityId, scope);
+ return attributesDao.findAll(tenantId, entityId, scope);
+ }
+
+ @Override
+ public List findAllKeysByDeviceProfileId(TenantId tenantId, DeviceProfileId deviceProfileId) {
+ return attributesDao.findAllKeysByDeviceProfileId(tenantId, deviceProfileId);
+ }
+
+ @Override
+ public List findAllKeysByEntityIds(TenantId tenantId, EntityType entityType, List entityIds) {
+ return attributesDao.findAllKeysByEntityIds(tenantId, entityType, entityIds);
+ }
+
+ @Override
+ public ListenableFuture> save(TenantId tenantId, EntityId entityId, String scope, List attributes) {
+ validate(entityId, scope);
+ attributes.forEach(AttributeUtils::validate);
+
+ List> saveFutures = attributes.stream().map(attribute -> attributesDao.save(tenantId, entityId, scope, attribute)).collect(Collectors.toList());
+ ListenableFuture