I have managed to set listener on my machine and arrange push list on the meter. When I trigger pushing from GXDLMSDirector by pressing the push button, meter connects and sends the push list.
However, it doesn't send anything when I set the date time via Communication Window panel. It's written on the meter, but meter doesn't send push by itself.
It might be that it's not implemented for your meter or then the meter can handle only a small amount of communication window time. Try to set start and end time minutes and seconds to 0.
Are there any factory default communication window values in the meter? Or was the list empty?
Your meter doesn't send push messages as the first parameter. Remove the code that is after this line:
//Example is sending list of push messages in first parameter.
The easiest way is if you configure the Logical name of the push object as second parameter. First is the meter Logical name. In this way, you can identify the meter and what push message is sent.
Then you need to check what has captured objects for that Push object and you know what meter has sent.
Another option is to add a push object list as fist parameter. If it's the first parameter client knows what kind of data is should expect.
Yes. It takes more bytes, but the client app can always know the structure of the received data.
Gurux Push listener example should now parse the data.
Hi,
Hi,
It might be that it's not implemented for your meter or then the meter can handle only a small amount of communication window time. Try to set start and end time minutes and seconds to 0.
Are there any factory default communication window values in the meter? Or was the list empty?
BR,
Mikko
Hi,
Hi,
List was empty. I have tested a few minutes ago. Meter's clock is sync.
Also, it sends when I click push button but listener cannot parse it.
Settings and result of trigger push attached.
Hi,
Hi,
Your meter doesn't send push messages as the first parameter. Remove the code that is after this line:
//Example is sending list of push messages in first parameter.
BR,
Mikko
Hi Mikko,
Hi Mikko,
So is it possible to recognize objects from their byte[] or string values? How am I supposed to parse which message is for which object?
Thank you.
Hi,
Hi,
The easiest way is if you configure the Logical name of the push object as second parameter. First is the meter Logical name. In this way, you can identify the meter and what push message is sent.
Then you need to check what has captured objects for that Push object and you know what meter has sent.
Another option is to add a push object list as fist parameter. If it's the first parameter client knows what kind of data is should expect.
BR,
Mikko
You mean something like this?
You mean something like this?
Hi,
Hi,
Yes. It takes more bytes, but the client app can always know the structure of the received data.
Gurux Push listener example should now parse the data.
BR,
Mikko
Hi Mikko,
Hi Mikko,
That's perfect, it works!
... well, when I do not set any Communication Window data and trigger push by pressing push button.
Any other idea about it?
Hi,
Hi,
You need to ask is there a firmware update from the meter manufacturer. There is nothing that we can do for it.
BR,
Mikko
Hi Mikko,
Hi Mikko,
I have found out that the meter is configured in a way that sends push messages on a specific time so setting the communication window wouldn't work.
Thanks for your support.
Hi,
Hi,
So it's using Randomisation start interval.
https://www.gurux.fi/Gurux.DLMS.Objects.GXDLMSPushSetup
Thanks for this info.
BR,
Mikko