Changes

Created page with "<p style="color:red">The information in this page is updated in accordance with [https://wiki.teltonika-networks.com/view/FW_%26_SDK_Downloads'''00.07.05.4'''] firmware versio..."
<p style="color:red">The information in this page is updated in accordance with [https://wiki.teltonika-networks.com/view/FW_%26_SDK_Downloads'''00.07.05.4'''] firmware version.</p>
==Introduction==
DLMS (''Device Language Message Specification'') is a set of standards used for communication between various meters, monitoring equipment, and the respective controllers. It uses '''TCP/IP or serial communication''' and utilizes '''Client and Server topology''', where the client polls the data from the server (''usually gas/electricity/water meter''). It should be noted, that there often confusion between IEC 62056-21 and DLMS. IEC 62056-21 is not DMLS!

COSEM (''Companion Specification for Energy Metering'') is a protocol that falls under the DLMS standard, and it provides application and transport layers for the protocol. COSEM defines a set of '''objects''' that represent the data and functions of the meter, and a set of '''services''' that allow the client to access the objects. COSEM also specifies the '''security''' mechanisms for authentication and encryption of the messages. It should be noted, that for now our implementation of COSEM only allows us to only perform read operations on DLMS servers, with write operations not currently supported.

In this article, we will be providing an example of how to configure DLMS Client in RutOS, as well as outlining a few things to keep in mind. RutOS supports DLMS as an '''additional software package''' that can be installed from the System → Package Manager → Packages page.

For this example we will be using a three phase electricity meter made by CLOU Electronics with a model number of '''CL730S22'''. We will be demonstrating the configuration of TCP/IP connections as well.

==Configuration==
The first step in getting DLMS up and running will be to configure the connection to a device. Here we will cover both TCP/IP and serial connection configuration. To get started with DLMS, a separate '''DLMS Client''' package needs to be downloaded from our package manager, which can be found by navigating to System → Package Manager → Packages. Once installed, we can head over to Services → DLMS. Once the DLMS is opened, head over to the '''Connections tab''':<br>
[[File:DLMS_client_configuration_example_Connections_tab_v1.png|border|class=tlt-border|1100x1100px]]<br>
===TCP/IP connection===
----
* Create a new instance with an easily recognizable name and press the Add button;
* When the configuration window opens up, specify:
** '''Connection type''' as '''TCP''';
** '''IP address''' of the DLMS server. It can be assigned statically or dynamically using DHCP;
** '''Port number''' of the DLMS access. ''Usually'', the port used for DLMS/COSEM is anywhere from 4059 to 4063. Please refer to a manual of your device to understand which port is used by your device;
After the connection parameters are entered, do not forget to '''enable the instance'''! The configuration could look similar to this:<br>
[[File:DLMS_client_configuration_example_TCP_connection_v1.png|border|class=tlt-border|900x900px]]<br>
===Serial connection===
----
* Create a new instance with an easily recognizable name and press the Add button;
* When the configuration window opens up, specify:
** '''Connection type''' as '''Serial''';
** Under the '''Serial device''' field, specify whether you're using RS485 or RS232;
** Specify the remaining serial parameters. They can either be configured in the DLMS server itself, or the default ones should be specified within the operating manual;
The final configuration could look like so:
[[File:DLMS_client_configuration_example_serial_connection_v1.png|border|class=tlt-border|900x900px]]<br>
'''Note:''' Along with direct serial connections, we wlso support IEC 62056-21 protocol '''mode E''' / HDLC with mode E interfaces, which contain an optical probe on one end, and RS interface on the other.