Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

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

Breadcrumb

  1. Home
  2. Forums
  3. Recieving Push Message

Recieving Push Message

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By sakshi , 17 August, 2018
Forums
General discussion

Hi Mikko,

I have read how to recieve push message at http://www.gurux.fi/Gurux.DLMS.Notify

GXDLMSNotifyHandler notify = new GXDLMSNotifyHandler(
//Is Logical name referencing used.
true,
//Client address
16,
//Server address.
1,
// Is used HDLC or COSEM transport layers for IPv4 networks (IEC 62056-47)
InterfaceType.Wrapper);

GXReplyData info = new GXReplyData();
notify.getData(data, info);
if (info.getMoreData() == RequestTypes.NONE)
{
List<SimpleEntry<GXDLMSObject, Integer>> objects = notify.parsePushObjects(info.getData());
}

Here i am facing following problems.
1. Gurux library does not have GXDLMSNotifyHandler class. It has GXDLMSNotify. GXDLMSNotify has parsePush(Object[]) method.
2. notify.getData(data, info); in this what does data argument belong to. I am unable to get data.
3. GXReplyData does not have getData() that returns array of Objects. So i can not pass info.getData() argument in parsePush() of GXDLMSNotify.

Please tell me the solution.

Thanks

Profile picture for user Kurumi

Kurumi

7 years 10 months ago

Recieving Push Message

Hi,

You should check Gurux.DLMS.Push.Listener.Example. That will do the work for you.

There is one thing that I need to warn about. Meters can be configured in different ways.
When this was implemented we were reading meters where the first object was push_object_list of the Push object. That describes the content of the Push message. There are a lot of meters that are not sending push_object_list in push msg. Yes, I know that there are a lot of extra bytes to send, but it describes the content of the data. If that is not sent, we don't know what kind of data we are receiving. Because push_object_list is not always sent you need to know what kind of data you are receiving. This causes some extra work for you.

You can use GXDLMSClient to receive Push messages.

GXDLMSClient cl = new GXDLMSClient(true, 1, 1, Authentication.None, null, InterfaceType.WRAPPER);

GXReplyData info = new GXReplyData();
notify.getData(data, info);
if (info.getMoreData() == RequestTypes.NONE)
{
info.Time; //When Push msg was sent.
info.Value; //Received data. Handle this as meter is confiqured.
}

BR,

Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin