Skip to main content
Home
for DLMS smart meters

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Push Listener Using Java

Push listener using java

By kevin jose minj, 1 February, 2024
Forums
General discussion

Hi Mikko,

java -jar target/gurux.dlms.push.listener.example-0.0.1-SNAPSHOT.jar -i WRAPPER -t Verbose

I tried to run java push listener example using the above command , and I updated the ip address and port number in the meter. when I click on push button I am not receiving the data on my local machine.Is there anything I missed out here?

Profile picture for user Kurumi

Kurumi

1 year 4 months ago

Hi, You should see "Client…

Hi,

You should see "Client Connected" message in the trace if the media can establish the connection for your meter.

If you can't see it, then there is something wrong with the meter settings. Check the port number and IP address.

Check that firewalls are not blocking the messages. This is a quite common problem.

BR,
Mikko

kevin jose minj

1 year 4 months ago

I turned off windows…

I turned off windows firewall using below command.

netsh advfirewall set allprofiles state off

And below screenshot is the meter settings.Is there any other settings I have to update in meter?

Image

kevin jose minj

1 year 4 months ago

Sending Push message. Client…

Sending Push message.
Client Connected.
<- 00 01 00 01 00 01 00 16 0F C0 00 00 01 00 02 01 09 0C 07 E8 02 02 05 0A 37 11 05 FE B6 00
Time: 02/02/24, 10:55:17 AM
<Structure Qty="01" >
<OctetString Value="07E80202050A371105FEB600" />
</Structure>

+++++++++++++++++++++++++++++++++++++++++
07 E8 02 02 05 0A 37 11 05 FE B6 00
+++++++++++++++++++++++++++++++++++++++++
Client Disconnected.

If I press enter it is showing this trace.Is it mean script is able to connect meter?

Profile picture for user Kurumi

Kurumi

1 year 4 months ago

Hi, There is a client and…

Hi,

There is a client and server on the push example. When you press enter key, the client sends a push message to the server.

The push server doesn't establish the connection for the meter. The meter sends data to the server and the push listener parses the received data.

BR,
Mikko

kevin jose minj

1 year 4 months ago

Hi Mikko, I got the packets…

Hi Mikko,

I got the packets from the meter like this

trace:10:21:14 TraceTypes.INFO Client connected.
trace:10:21:17 TraceTypes.RECEIVED 00 01 00 01 00 40 00 5E DB 08 49 53 45 31 31 30 37 33 82 00 51 20 00 00 00 01 9E 80 E5 70 45 72 41 03 E4 D5 9E 20 03 F6 76 92 22 E0 4C 72 0E 13 2D C5 B1 2D 3D 73 25 F5 47 F9 C3 53 C0 F6 95 8B 5B B9 DE 17 5D 04 07 12 E8 82 0A B3 B4 71 02 4E D7 36 13 51
35 51 6E D0 66 0F 39 27 FE 81 7B BF 00 0B D1 DB 5C 6C
New data is received. 00 01 00 01 00 40 00 5E DB 08 49 53 45 31 31 30 37 33 82 00 51 20 00 00 00 01 9E 80 E5 70 45 72 41 03 E4 D5 9E 20 03 F6 76 92 22 E0 4C 72 0E 13 2D C5 B1 2D 3D 73 25 F5 47 F9 C3 53 C0 F6 95 8B 5B B9 DE 17 5D 04 07 12 E8 82 0A B3 B4 71 02 4E D7 36 13 51 35 51 6E D0 66 0F
39 27 FE 81 7B BF 00 0B D1 DB 5C 6C
Invalid Command.
trace:10:21:19 TraceTypes.INFO Client disconnected.

How to convert this is into readable form?

kevin jose minj

1 year 4 months ago

I added the block cipher key…

I added the block cipher key and I got this output.

trace:10:30:29 TraceTypes.INFO Client connected.
trace:10:30:32 TraceTypes.RECEIVED 00 01 00 01 00 40 00 5E DB 08 49 53 45 31 31 30 37 33 82 00 51 20 00 00 00 01 9E 80 E5 70 45 72 41 03 E4 D5 9E 20 09 C0 76 92 22 E0 4C 72 0E 13 2D C5 B1 2D 3D 73 25 F5 47 F9 C3 53 C0 F6 95 8B 5B B9 DE 17 5D 04 07 12 E8 82 0A B3 BE 47 02 4E D7 36 13 51
35 51 6E D0 66 0F 39 27 FE 81 7B BF 00 0B D1 DB 5C 6C
New data is received. 00 01 00 01 00 40 00 5E DB 08 49 53 45 31 31 30 37 33 82 00 51 20 00 00 00 01 9E 80 E5 70 45 72 41 03 E4 D5 9E 20 09 C0 76 92 22 E0 4C 72 0E 13 2D C5 B1 2D 3D 73 25 F5 47 F9 C3 53 C0 F6 95 8B 5B B9 DE 17 5D 04 07 12 E8 82 0A B3 BE 47 02 4E D7 36 13 51 35 51 6E D0 66 0F
39 27 FE 81 7B BF 00 0B D1 DB 5C 6C
<Structure Qty="04" >
<String Value="ISE001011073" />
<OctetString Value="0004190900FF" />
<OctetString Value="07E80208040A1E0DFF014A00" />
<BitString Value="00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000" />
</Structure>

{
ISE001011073
00 04 19 09 00 FF
07 E8 02 08 04 0A 1E 0D FF 01 4A 00
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000
}
<WRAPPER len="66" >
<TargetAddress Value="1" />
<SourceAddress Value="40" />
<PDU>
<GeneralGloCiphering>
<SystemTitle Value="4953453131303733" />
<CipheredService Value="20000000019E80E57045724103E4D59E2009C0769222E04C720E132DC5B12D3D7325F547F9C353C0F6958B5BB9DE175D040712E8820AB3BE47024ED736135135516ED0660F3927FE817BBF000BD1DB5C6C" />
</GeneralGloCiphering>
</PDU>
</WRAPPER>

How to convert this?

Profile picture for user Kurumi

Kurumi

1 year 4 months ago

Hi, Data is parsed correctly…

Hi,

Data is parsed correctly after you set the block cipher and authentication.
Check the GXDLMSPushListener.printData-method. It shows the received data.

BR,
Mikko

kevin jose minj

1 year 4 months ago

{ ISE001011073 00 04 19…

Hi Mikko,

{
ISE001011073
00 04 19 09 00 FF
07 E8 02 08 04 10 0F 0D FF 01 4A 00
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000
}

This is hex trace using GXDLMSPushListener.printData-method .How to convert it into actual human readable form like Datet , time , Event name etc?

Profile picture for user Kurumi

Kurumi

1 year 4 months ago

Hi, You need to set the…

Hi,

You need to set the correct push objects to the Push object list.
https://www.gurux.fi/Gurux.DLMS.Objects.GXDLMSPushSetup

You can get the push object from the meter documentation or if you read the push object.

I believe that the first one is the Logical Meter Name. The second is the Push OBIS code. The third one is the Clock and the last one I don't know.

BR,
Mikko

kevin jose minj

1 year 4 months ago

Hi Mikko, { ISE001011073 00…

Hi Mikko,

{
ISE001011073
00 04 19 09 00 FF
07 E8 02 08 04 10 0F 0D FF 01 4A 00
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000
}

To convert this hex trace to readable form is there any class is available like GXTranslator?

  • Log in or register to post comments
  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Thu, 06/19/2025 - 09:33
    Gurux.DLMS.Python 1.0.185
  • Wed, 06/18/2025 - 15:11
    Gurux.DLMS.Python 1.0.184
  • Wed, 06/18/2025 - 10:05
    Gurux.DLMS.Python 1.0.183
  • Wed, 06/18/2025 - 09:06
    GXDLMSDirector 9.0.2506.1801
  • Wed, 06/18/2025 - 08:41
    Gurux.DLMS.Net 9.0.2506.1801

New forum topics

  • Unable to read parameter values from Landis+Gyr E550 meter using GXDLMSDirector - NoAccess status
  • data.SetComplete(false); But all data recieved
  • Crash (endless loop)
  • Server is not able to download object list with maxPduSize 64 or 128 (or anything below 156-bytes PDU size)
  • Day profile action item add error (String is not recognized as valid DateTime value)
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin