I'm using C#. I noticed that my image identification is wrong, so I'm fixing it.
How can I generate an hastag of my image?
I have also other questions:
The image update is in progress and I receive this error: "Failed to receive reply from the device in given time.".
How can I check if the image is transfered and is activeted?
Could I increase the connection's time with the meter?
Updating the image depends very much on the meter. You need to wait after you have sent the image to the meter. Some meters can't answer at all when they are verifying image. Usually when you have activated the image meter is rebooting and you need to re-establish the connection.
I propose that you skip this error and wait 10 seconds and check is image updated. Continue this until you receive a reply from the meter.
Hi Mikko,
I implement your suggestion, so I'm waiting 10seconds after this error.
But I still have a problem, after this time, each request to the meter gives me this answer: 7EA009030351D05A7E. Do you know what does it mean?
my code is here:
try
{
var replyForEachBLock = new GXReplyData();
foreach (var index in indexes)
{
ReadDataBlock(client.Method(imgTransfer, 2, enumerableBlocks[index], DataType.Array),
"try to send block " + index, replyForEachBLock);
resentBlocks++;
}
}
catch (Exception ex)
{
Console.WriteLine("Error in reply in ResendAllFailedBlocks; Try to reconnect");
Thread.Sleep(10000);
succeded = false;
}
GXDLMSData obisData = (GXDLMSData)client.Objects.FindByLN(ObjectType.Data, "0.0.1.1.0.255");
if (obisData == null)
throw new Exception("Obis not found");
try
{
GXReplyData reply = new GXReplyData();
ReadDataBlock(client.Read(obisData, 2), "read data", reply);
Hi,
7E A0 09 03 03 51 D0 5A 7E is invalid HDLC frame. There is an error in the meter.
You need to ask from the meter manufacturer is image update really implemented. Sometimes object it there, but you need to use a custom application to update the image.
In your example of how to speak through dlms, the python mode appears in all the examples, but when updating FW it does not appear. Can't update fw through python?
Hi Alessia,
Hi Alessia,
Read Image updating from
http://www.gurux.fi/Gurux.DLMS.Client
BR,
Mikko
I saw http://www.gurux.fi
I saw http://www.gurux.fi/Gurux.DLMS.Client (Upgrade firmaware).
Which format have to be the new firmware?
Thanks,
Alessia
Hi,
Hi,
It depends on the manufacturer. Some are using binary files. Some are using XML files.
BR,
Mikko
Hi Mikko,
Hi Mikko,
I tried to update my Smart Meter's FW.
I took the code at http://www.gurux.fi/Gurux.DLMS.Client but I have an exception during Step2:
// Step 2: Initiate the Image transfer process.
readDataBlock(Client, Media, target.imageTransferInitiate(Client, Identification, data.length), reply);
GXDLMSException: 'Access Error : Device reports an unmatched type.'
How can i solve it?
Thanks,
Alessia
Hi Alessia,
Hi Alessia,
What programming language you are using? Can you send trace from imageTransferInitiate?
Send just this trace and I'll check it.
BR,
Mikko
I'm using C#. I noticed that
I'm using C#. I noticed that my image identification is wrong, so I'm fixing it.
How can I generate an hastag of my image?
I have also other questions:
The image update is in progress and I receive this error: "Failed to receive reply from the device in given time.".
How can I check if the image is transfered and is activeted?
Could I increase the connection's time with the meter?
Thanks,
Alessia
Hi,
Hi,
Updating the image depends very much on the meter. You need to wait after you have sent the image to the meter. Some meters can't answer at all when they are verifying image. Usually when you have activated the image meter is rebooting and you need to re-establish the connection.
I propose that you skip this error and wait 10 seconds and check is image updated. Continue this until you receive a reply from the meter.
BR,
Mikko
Hi Mikko,
Hi Mikko,
I implement your suggestion, so I'm waiting 10seconds after this error.
But I still have a problem, after this time, each request to the meter gives me this answer: 7EA009030351D05A7E. Do you know what does it mean?
my code is here:
try
{
var replyForEachBLock = new GXReplyData();
foreach (var index in indexes)
{
ReadDataBlock(client.Method(imgTransfer, 2, enumerableBlocks[index], DataType.Array),
"try to send block " + index, replyForEachBLock);
resentBlocks++;
}
}
catch (Exception ex)
{
Console.WriteLine("Error in reply in ResendAllFailedBlocks; Try to reconnect");
Thread.Sleep(10000);
succeded = false;
}
GXDLMSData obisData = (GXDLMSData)client.Objects.FindByLN(ObjectType.Data, "0.0.1.1.0.255");
if (obisData == null)
throw new Exception("Obis not found");
try
{
GXReplyData reply = new GXReplyData();
ReadDataBlock(client.Read(obisData, 2), "read data", reply);
Console.WriteLine(reply.Value);
}
catch (Exception ex)
{
Console.WriteLine("hours : " + ex);
}
Hi,
Hi,
7E A0 09 03 03 51 D0 5A 7E is invalid HDLC frame. There is an error in the meter.
You need to ask from the meter manufacturer is image update really implemented. Sometimes object it there, but you need to use a custom application to update the image.
BR,
Mikko
HI, In your example of how…
HI,
In your example of how to speak through dlms, the python mode appears in all the examples, but when updating FW it does not appear. Can't update fw through python?
Thanks
Hi Aritza2, Please, create a…
Hi Aritza2,
Please, create a new topic if you have a new question. You get a reply faster and I'll answer the correct question.
You can update the firmware with Python. The example is missing, but the idea is the same.
BR,
Mikko