lwm2m: fix bug monitoring
This commit is contained in:
parent
06b5706d87
commit
0e819850c8
@ -145,7 +145,7 @@ public abstract class TransportHealthChecker<C extends TransportMonitoringConfig
|
||||
profileData.setTransportConfiguration(new DefaultDeviceProfileTransportConfiguration());
|
||||
deviceProfile.setProfileData(profileData);
|
||||
} else {
|
||||
tbClient.getResources(new PageLink(1, 0, "LwM2M Monitoring id=3 v1.0")).getData()
|
||||
tbClient.getResources(new PageLink(1, 0, "LwM2M Monitoring")).getData()
|
||||
.stream().findFirst()
|
||||
.orElseGet(() -> {
|
||||
TbResource newResource = ResourceUtils.getResource("lwm2m/resource.json", TbResource.class);
|
||||
|
||||
@ -12,14 +12,14 @@
|
||||
"transportConfiguration": {
|
||||
"observeAttr": {
|
||||
"observe": [
|
||||
"/3_1.0/0/0"
|
||||
"/3_1.1/0/0"
|
||||
],
|
||||
"attribute": [],
|
||||
"telemetry": [
|
||||
"/3_1.0/0/0"
|
||||
"/3_1.1/0/0"
|
||||
],
|
||||
"keyName": {
|
||||
"/3_1.0/0/0": "testData"
|
||||
"/3_1.1/0/0": "testData"
|
||||
},
|
||||
"attributeLwm2m": {}
|
||||
},
|
||||
|
||||
@ -1,45 +1,331 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
FILE INFORMATION
|
||||
|
||||
Copyright © 2016-2025 The Thingsboard Authors
|
||||
OMA Permanent Document
|
||||
File: OMA-SUP-XML_3-V1_2-20201110-A.xml
|
||||
Path: http://www.openmobilealliance.org/release/ObjLwM2M_Device/
|
||||
|
||||
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
|
||||
OMNA LwM2M Registry
|
||||
Path: https://github.com/OpenMobileAlliance/lwm2m-registry
|
||||
Name: 3.xml
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
NORMATIVE INFORMATION
|
||||
|
||||
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.
|
||||
Information about this file can be found in the latest revision of
|
||||
|
||||
OMA-TS-LightweightM2M_Core-V1_2
|
||||
|
||||
This is available at http://www.openmobilealliance.org/release/LightweightM2M/
|
||||
|
||||
Send comments to https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues
|
||||
|
||||
LEGAL DISCLAIMER
|
||||
|
||||
Copyright 2020 Open Mobile Alliance.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The above license is used as a license under copyright only. Please
|
||||
reference the OMA IPR Policy for patent licensing terms:
|
||||
https://www.omaspecworks.org/about/intellectual-property-rights/
|
||||
|
||||
-->
|
||||
<LWM2M xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="http://www.openmobilealliance.org/tech/profiles/LWM2M-v1_1.xsd">
|
||||
|
||||
<LWM2M xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.openmobilealliance.org/tech/profiles/LWM2M-v1_1.xsd">
|
||||
<Object ObjectType="MODefinition">
|
||||
<Name>LwM2M Monitoring</Name>
|
||||
<Description1>
|
||||
<![CDATA[]]></Description1>
|
||||
<Description1><![CDATA[This LwM2M Object provides a range of device related information which can be queried by the LwM2M Server, and a device reboot and factory reset function.]]></Description1>
|
||||
<ObjectID>3</ObjectID>
|
||||
<ObjectURN>urn:oma:lwm2m:oma:3</ObjectURN>
|
||||
<ObjectURN>urn:oma:lwm2m:oma:3:1.1</ObjectURN>
|
||||
<LWM2MVersion>1.1</LWM2MVersion>
|
||||
<ObjectVersion>1.0</ObjectVersion>
|
||||
<ObjectVersion>1.1</ObjectVersion>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Mandatory</Mandatory>
|
||||
<Resources>
|
||||
<Item ID="0">
|
||||
<Name>Test data</Name>
|
||||
<Name>Manufacturer</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Test data]]></Description>
|
||||
<Description><![CDATA[Human readable manufacturer name]]></Description>
|
||||
</Item>
|
||||
</Resources>
|
||||
<Item ID="1">
|
||||
<Name>Model Number</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[A model identifier (manufacturer specified string)]]></Description>
|
||||
</Item>
|
||||
<Item ID="2">
|
||||
<Name>Serial Number</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Serial Number]]></Description>
|
||||
</Item>
|
||||
<Item ID="3">
|
||||
<Name>Firmware Version</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Current firmware version of the Device.The Firmware Management function could rely on this resource.]]></Description>
|
||||
</Item>
|
||||
<Item ID="4">
|
||||
<Name>Reboot</Name>
|
||||
<Operations>E</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Mandatory</Mandatory>
|
||||
<Type></Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Reboot the LwM2M Device to restore the Device from unexpected firmware failure.]]></Description>
|
||||
</Item>
|
||||
<Item ID="5">
|
||||
<Name>Factory Reset</Name>
|
||||
<Operations>E</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type></Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Perform factory reset of the LwM2M Device to make the LwM2M Device to go through initial deployment sequence where provisioning and bootstrap sequence is performed. This requires client ensuring post factory reset to have minimal information to allow it to carry out one of the bootstrap methods specified in section 5.2.3.
|
||||
When this Resource is executed, "De-register" operation MAY be sent to the LwM2M Server(s) before factory reset of the LwM2M Device.]]></Description>
|
||||
</Item>
|
||||
<Item ID="6">
|
||||
<Name>Available Power Sources</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Multiple</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration>0..7</RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[0: DC power
|
||||
1: Internal Battery
|
||||
2: External Battery
|
||||
3: Fuel Cell
|
||||
4: Power over Ethernet
|
||||
5: USB
|
||||
6: AC (Mains) power
|
||||
7: Solar
|
||||
The same Resource Instance ID MUST be used to associate a given Power Source (Resource ID:6) with its Present Voltage (Resource ID:7) and its Present Current (Resource ID:8)]]></Description>
|
||||
</Item>
|
||||
<Item ID="7">
|
||||
<Name>Power Source Voltage</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Multiple</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Present voltage for each Available Power Sources Resource Instance. The unit used for this resource is in mV.]]></Description>
|
||||
</Item>
|
||||
<Item ID="8">
|
||||
<Name>Power Source Current</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Multiple</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Present current for each Available Power Source. The unit used for this resource is in mA.]]></Description>
|
||||
</Item>
|
||||
<Item ID="9">
|
||||
<Name>Battery Level</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration>0..100</RangeEnumeration>
|
||||
<Units>/100</Units>
|
||||
<Description><![CDATA[Contains the current battery level as a percentage (with a range from 0 to 100). This value is only valid for the Device internal Battery if present (one Available Power Sources Resource Instance is 1).]]></Description>
|
||||
</Item>
|
||||
<Item ID="10">
|
||||
<Name>Memory Free</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Estimated current available amount of storage space which can store data and software in the LwM2M Device (expressed in kilobytes). Note: 1 kilobyte corresponds to 1000 bytes.]]></Description>
|
||||
</Item>
|
||||
<Item ID="11">
|
||||
<Name>Error Code</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Multiple</MultipleInstances>
|
||||
<Mandatory>Mandatory</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration>0..32</RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[0=No error
|
||||
1=Low battery power
|
||||
2=External power supply off
|
||||
3=GPS module failure
|
||||
4=Low received signal strength
|
||||
5=Out of memory
|
||||
6=SMS failure
|
||||
7=IP connectivity failure
|
||||
8=Peripheral malfunction
|
||||
9..15=Reserved for future use
|
||||
16..32=Device specific error codes
|
||||
|
||||
When the single Device Object Instance is initiated, there is only one error code Resource Instance whose value is equal to 0 that means no error. When the first error happens, the LwM2M Client changes error code Resource Instance to any non-zero value to indicate the error type. When any other error happens, a new error code Resource Instance is created. When an error associated with a Resource Instance is no longer present, that Resource Instance is deleted. When the single existing error is no longer present, the LwM2M Client returns to the original no error state where Instance 0 has value 0.
|
||||
This error code Resource MAY be observed by the LwM2M Server. How to deal with LwM2M Client’s error report depends on the policy of the LwM2M Server. Error codes in between 16 and 32 are specific to the Device and may have different meanings among implementations.]]></Description>
|
||||
</Item>
|
||||
<Item ID="12">
|
||||
<Name>Reset Error Code</Name>
|
||||
<Operations>E</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type></Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Delete all error code Resource Instances and create only one zero-value error code that implies no error, then re-evaluate all error conditions and update and create Resources Instances to capture all current error conditions.]]></Description>
|
||||
</Item>
|
||||
<Item ID="13">
|
||||
<Name>Current Time</Name>
|
||||
<Operations>RW</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Time</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Current UNIX time of the LwM2M Client.
|
||||
The LwM2M Client should be responsible to increase this time value as every second elapses.
|
||||
The LwM2M Server is able to write this Resource to make the LwM2M Client synchronized with the LwM2M Server.]]></Description>
|
||||
</Item>
|
||||
<Item ID="14">
|
||||
<Name>UTC Offset</Name>
|
||||
<Operations>RW</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Indicates the UTC offset currently in effect for this LwM2M Device. UTC+X [ISO 8601].]]></Description>
|
||||
</Item>
|
||||
<Item ID="15">
|
||||
<Name>Timezone</Name>
|
||||
<Operations>RW</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Indicates in which time zone the LwM2M Device is located, in IANA Timezone (TZ) database format.]]></Description>
|
||||
</Item>
|
||||
<Item ID="16">
|
||||
<Name>Supported Binding and Modes</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Mandatory</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Indicates which bindings and modes are supported in the LwM2M Client. The possible values are those listed in the LwM2M Core Specification.]]></Description>
|
||||
</Item>
|
||||
<Item ID="17"><Name>Device Type</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Type of the device (manufacturer specified string: e.g. smart meters / dev Class / ...)]]></Description>
|
||||
</Item>
|
||||
<Item ID="18"><Name>Hardware Version</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Current hardware version of the device]]></Description>
|
||||
</Item>
|
||||
<Item ID="19"><Name>Software Version</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>String</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Current software version of the device (manufacturer specified string). On elaborated LwM2M device, SW could be split in 2 parts: a firmware one and a higher level software on top.
|
||||
Both pieces of Software are together managed by LwM2M Firmware Update Object (Object ID 5)]]></Description>
|
||||
</Item>
|
||||
<Item ID="20"><Name>Battery Status</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration>0..6</RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[This value is only valid for the Device Internal Battery if present (one Available Power Sources Resource Instance value is 1).
|
||||
Battery
|
||||
Status Meaning Description
|
||||
0 Normal The battery is operating normally and not on power.
|
||||
1 Charging The battery is currently charging.
|
||||
2 Charge Complete The battery is fully charged and still on power.
|
||||
3 Damaged The battery has some problem.
|
||||
4 Low Battery The battery is low on charge.
|
||||
5 Not Installed The battery is not installed.
|
||||
6 Unknown The battery information is not available.]]></Description>
|
||||
</Item>
|
||||
<Item ID="21"><Name>Memory Total</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Single</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Integer</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Total amount of storage space which can store data and software in the LwM2M Device (expressed in kilobytes). Note: 1 kilobyte corresponds to 1000 bytes.]]></Description>
|
||||
</Item>
|
||||
<Item ID="22"><Name>ExtDevInfo</Name>
|
||||
<Operations>R</Operations>
|
||||
<MultipleInstances>Multiple</MultipleInstances>
|
||||
<Mandatory>Optional</Mandatory>
|
||||
<Type>Objlnk</Type>
|
||||
<RangeEnumeration></RangeEnumeration>
|
||||
<Units></Units>
|
||||
<Description><![CDATA[Reference to external "Device" object instance containing information. For example, such an external device can be a Host Device, which is a device into which the Device containing the LwM2M client is embedded. This Resource may be used to retrieve information about the Host Device.]]></Description>
|
||||
</Item></Resources>
|
||||
<Description2></Description2>
|
||||
</Object>
|
||||
</LWM2M>
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
pom.xml
2
pom.xml
@ -848,6 +848,8 @@
|
||||
<exclude>.run/**</exclude>
|
||||
<exclude>**/NetworkReceive.java</exclude>
|
||||
<exclude>**/lwm2m-registry/**</exclude>
|
||||
<exclude>**/test/resources/lwm2m/**</exclude>
|
||||
<exclude>**/resources/lwm2m/models/**</exclude>
|
||||
<exclude>src/main/data/resources/**</exclude>
|
||||
</excludes>
|
||||
<mapping>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user