I am quite new to Gurux dlms protocol and am attempting to read the load profile via HDLCwithModeE and an IR probe. The connection is successfully but I am unable to read a needed range by using the function com_readRowsByRange(). Is there a clear example i can refer to to obtain the rangesi need and the arguments passed into this function?
Some meters don't support com_readRowsByRange for all profile generic objects. This is usually the case if there are only a few rows. Some meters expect that deviation must not use or it must be correct. Some meters expect that seconds and milliseconds are set to zero.
I can say that the easiest way to start is if you download the GXDLMSDirector and try to read your meter with it. You can save time settings easily for the Advanced tab and find correct settings for your meter.
I have used it in DLMSDirector and it work, I am able to get the load profile via DLMS director. Currently, I am trying to do the communication through an Arduino mega and one of the criteria I am trying to hit is to read the load profile of any given range of time which I can request as the meter stores data up to 2 months. Is it possible to use com_readrowsbyentry() as currently, I can only read 4 indexes of data using the mentioned function even though I could read a larger range through DLMSDirector. Is it possible to get a small example on the way to pass arguments into com_readrowsby entry and com_readrowsbyrange() so that I can implement it in the MEGA.
If you can read your meter with GXDLMSDirector without setting any custom properties your meter should reply if you set seconds and ms to zero. Have you tried something like this?
//Read last day from Profile Generic.
time_now(&startTime);
endTime = startTime;
time_clearTime(&startTime);
ret = com_readRowsByRange2(connection, pg, &startTime, &endTime);
Yes I've done something quite similar with starttime and entime set to gxtime but I do not get any data. When I try to read using com_readRowsByentry I am only able to get 5 indexs total. Is there a way that I can increase the total amount of index read by the function com_readrowsbyentry?
Thank You,
Uzmaan
You can give count as the second parameter of com_readRowsByentry. Also check what is the total number of rows in that profile generic.
If you read your profile generic with GXDLMSDirector and add the read command here I can check what date-time format your meter is expecting. Don't add meter reply. I don't need it.
I believe that your meter is using UTC time zone and not what DLMS standard defines.
un-comment this from gxignore.h file.
#define DLMS_USE_UTC_TIME_ZONE
gxProfileGeneric pg;
gxtime strt;
gxtime nd;
time_now(&strt);
nd = strt;
time_addDays(&strt,10);
cosem_init(BASE(pg), DLMS_OBJECT_TYPE_PROFILE_GENERIC, "1.0.99.1.1.255");
com_read(BASE(pg), 3);
com_readRowsByRange(&pg, &strt, &nd);
I tried uncommenting but i still keep getting readRowsbyrange failed. As shown above, is how I've tried to implement this. Have I gone wrong in the approach?
Thank You,
Uzmaan
Hi,
The start date is not+10 days. That is in the future and the meter doesn't return anything if the meter is at the correct time. Change for this.
time_addDays(&strt,-10);
You need to reset seconds. You can try this. It will start reading at midnight.
time_clearTime(&startTime);
When you read 1.0.99.1.1.255 using Range the meter returns an empty buffer. When you read 1.0.99.1.1.255 with entry the meter returns data. It might be that the read by range is not implemented for this profile generic or meter expects exact date-time format. You need to verify this from the meter vendor. Try to read data from the meter where hours and minutes are zero so reading will start from midnight. If the meter returns data, then try to read setting only minutes to zero.
Can you use malloc? Reading profile generic is a pain if you don't use malloc. You need to parse all values by yourself because the client doesn't know the data structure.
Does that mean I must uncomment it from the gxignore file? And also is there a way i can specify what day of the week is while requesting the readrowsbyrange option for the start and end time?
Sorry. My mistake. DLMS_IGNORE_MALLOC must be commented out. I read that you were un-commented it. That is correct. The reason I was asking this is that there are a few extra bytes. Are you using an Android example?
Hi,
Hi,
Some meters don't support com_readRowsByRange for all profile generic objects. This is usually the case if there are only a few rows. Some meters expect that deviation must not use or it must be correct. Some meters expect that seconds and milliseconds are set to zero.
I can say that the easiest way to start is if you download the GXDLMSDirector and try to read your meter with it. You can save time settings easily for the Advanced tab and find correct settings for your meter.
BR,
Mikko
I have used it in
I have used it in DLMSDirector and it work, I am able to get the load profile via DLMS director. Currently, I am trying to do the communication through an Arduino mega and one of the criteria I am trying to hit is to read the load profile of any given range of time which I can request as the meter stores data up to 2 months. Is it possible to use com_readrowsbyentry() as currently, I can only read 4 indexes of data using the mentioned function even though I could read a larger range through DLMSDirector. Is it possible to get a small example on the way to pass arguments into com_readrowsby entry and com_readrowsbyrange() so that I can implement it in the MEGA.
Thank You.
Hi,
Hi,
If you can read your meter with GXDLMSDirector without setting any custom properties your meter should reply if you set seconds and ms to zero. Have you tried something like this?
//Read last day from Profile Generic.
time_now(&startTime);
endTime = startTime;
time_clearTime(&startTime);
ret = com_readRowsByRange2(connection, pg, &startTime, &endTime);
BR,
Mikko
Yes I've done something quite
Yes I've done something quite similar with starttime and entime set to gxtime but I do not get any data. When I try to read using com_readRowsByentry I am only able to get 5 indexs total. Is there a way that I can increase the total amount of index read by the function com_readrowsbyentry?
Thank You,
Uzmaan
Hi,
Hi,
You can give count as the second parameter of com_readRowsByentry. Also check what is the total number of rows in that profile generic.
If you read your profile generic with GXDLMSDirector and add the read command here I can check what date-time format your meter is expecting. Don't add meter reply. I don't need it.
BR,
Mikko
13:43:28 Read object type
13:43:28 Read object type ProfileGeneric index: 4
TX: 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
13:43:29
RX: 7E A0 15 21 03 52 5D 8A E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
13:43:29 Read object type ProfileGeneric index: 5
TX: 7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
13:43:30
RX: 7E A0 12 21 03 74 48 99 E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
13:43:30 Read object type ProfileGeneric index: 6
TX: 7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
13:43:31
RX: 7E A0 22 21 03 96 A6 11 E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
13:43:31 Reading profile generic data
TX: 7E A0 4C 03 21 98 7E 69 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 01 01 02 04 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E5 0C 10 FF 0F 14 00 FF FE B6 00 09 0C 07 E5 0C 15 FF 0C 14 00 FF FE B6 00 01 00 84 CE 7E
13:43:33
Currently this is whats set to the meter.
Hi,
Hi,
I believe that your meter is using UTC time zone and not what DLMS standard defines.
un-comment this from gxignore.h file.
#define DLMS_USE_UTC_TIME_ZONE
https://www.gurux.fi/Gurux.DLMS.Objects.GXDLMSClock
BR,
Mikko
gxProfileGeneric pg;
gxProfileGeneric pg;
gxtime strt;
gxtime nd;
time_now(&strt);
nd = strt;
time_addDays(&strt,10);
cosem_init(BASE(pg), DLMS_OBJECT_TYPE_PROFILE_GENERIC, "1.0.99.1.1.255");
com_read(BASE(pg), 3);
com_readRowsByRange(&pg, &strt, &nd);
I tried uncommenting but i still keep getting readRowsbyrange failed. As shown above, is how I've tried to implement this. Have I gone wrong in the approach?
Thank You,
Uzmaan
Hi,
Hi,
The start date is not+10 days. That is in the future and the meter doesn't return anything if the meter is at the correct time. Change for this.
time_addDays(&strt,-10);
You need to reset seconds. You can try this. It will start reading at midnight.
time_clearTime(&startTime);
BR,
Mikko
:Start reading:com
:Start reading:com_initializeConnection SUCCEEDED 0:com_readRowsByRange failed. 250:Load profileIndex: 2 Value: [
]
Index: 3 Value: [ 0.0.1.0.0.255, 1.0.1.8.0.255, 1.0.2.8.0.255, 1.0.13.7.0.255, 1.0.32.7.0.255, 1.0.31.7.0.255, 1.0.1.25.0.255, 1.0.2.25.0.255, 1.0.9.25.0.255, 1.0.10.25.0.255]
Index: 4 Value: 0
Index: 5 Value: 0
Index: 6 Value:
Index: 7 Value: 0
Index: 8 Value: 0
Neither way works, This is the error message I get via the trace
Thank You,
Uzmaan
Hi,
Hi,
Can you add a hex trace from the meter reply?
BR,
Mikko
{20}{21}{03}{73}{73}{98}{81}
{20}{21}{03}{73}{73}{98}{81}{80}{14}{05}{02}{00}{80}{06}{02}{00}{80}{07}{04}{00}{00}{00}{01}{08}{04}{00}{00}{00}{01}{CE}{6A}{7E}{7E}{A0}{2B}{03}{61}{10}{FB}{AF}{E6}{E6}{00}{60}{1D}{A1}{09}{06}{07}{60}{85}{74}{05}{08}{01}{03}{BE}{10}{04}{0E}{01}{00}{04}{00}{06}{5F}{1F}{04}{00}{00}{1F}{1D}{FF}{C5}{E4}{7E}{7E}{A0}{37}{21}{03}{30}{6C}{7C}{E6}{E7}{00}{61}{29}{A1}{09}{06}{07}{60}{85}{74}{05}{08}{01}{01}{A2}{03}{02}{01}{00}{A3}{05}{A1}{03}{02}{01}{00}{BE}{10}{04}{0E}{08}{00}{06}{5F}{1F}{04}{00}{00}{12}{14}{01}{00}{00}{07}{27}{A8}{7E}{7E}{A0}{19}{03}{21}{32}{6F}{D8}{E6}{E6}{00}{C0}{01}{81}{00}{07}{01}{00}{63}{01}{01}{FF}{03}{00}{32}{41}{7E}{7E}{A8}{89}{21}{03}{52}{86}{A9}{E6}{E7}{00}{C4}{01}{81}{00}{01}{0A}{02}{04}{12}{00}{08}{09}{06}{00}{00}{01}{00}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{01}{08}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{02}{08}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{0D}{07}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{0C}{19}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{0B}{19}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{01}{19}{A0}{9E}{7E}{7E}{A0}{07}{03}{21}{51}{11}{E4}{7E}{7E}{A0}{46}{21}{03}{D4}{B0}{1F}{00}{FF}{0F}{02}{12}{00}{10}{02}{04}{12}{00}{03}{09}{06}{01}{00}{02}{19}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{09}{19}{00}{FF}{0F}{02}{12}{00}{00}{02}{04}{12}{00}{03}{09}{06}{01}{00}{0A}{19}{00}{FF}{0F}{02}{12}{00}{00}{D8}{9B}{7E}{7E}{A0}{4C}{03}{21}{74}{1C}{44}{E6}{E6}{00}{C0}{01}{81}{00}{07}{01}{00}{63}{01}{01}{FF}{02}{01}{01}{02}{04}{02}{04}{1A}{C0}{04}{09}{06}{00}{00}{01}{00}{00}{FF}{0F}{02}{12}{00}{00}{09}{0C}{07}{B2}{01}{01}{04}{00}{00}{00}{00}{00}{02}{00}{09}{0C}{07}{B2}{01}{01}{04}{00}{07}{0D}{08}{00}{02}{00}{01}{00}{AE}{63}{7E}{7E}{A0}{11}{21}{03}{76}{97}{9F}{E6}{E7}{00}{C4}{01}{81}{01}{FA}{4B}{EE}{7E}{7E}{A0}{07}{03}{21}{53}{03}{C7}{7F}{7E}{A0}{07}{21}{03}{73}{01}{40}{7E}
Thank You,
Uzmaan
Hi,
Hi,
Can you also add GXDLMSDirector log? You can get it if you select "View", "Log" and "View Log".
BR,
Mikko
11:58:56 Initializing serial
11:58:58 Maximum BaudRate is set to : 1200
11:58:58 BaudRate is : 1200
11:58:58 AM Moving to mode E.
06 32 32 32 0D 0A
11:59:01 AM Send SNRM request.
7E A0 07 03 21 93 0F 01 7E
11:59:01 AM
7E A0 20 21 03 73 73 98 81 80 14 05 02 00 80 06 02 00 80 07 04 00 00 00 01 08 04 00 00 00 01 CE 6A 7E
11:59:01 Parsing UA reply succeeded.
11:59:01 AM Send AARQ request.
7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
11:59:02 AM
7E A0 37 21 03 30 6C 7C E6 E7 00 61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 12 14 01 00 00 07 27 A8 7E
11:59:02 Parsing AARE reply succeeded.
11:59:17 AM Read object type ProfileGeneric index: 4
7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
11:59:18 AM
7E A0 15 21 03 52 5D 8A E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
11:59:18 AM Read object type ProfileGeneric index: 5
7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
11:59:18 AM
7E A0 12 21 03 74 48 99 E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
11:59:18 AM Read object type ProfileGeneric index: 6
7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
11:59:19 AM
7E A0 22 21 03 96 A6 11 E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
11:59:19 AM Reading profile generic data
7E A0 4C 03 21 98 7E 69 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 01 01 02 04 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E5 0C 15 FF 00 00 00 FF FE B6 00 09 0C 07 E5 0C 18 FF 00 00 00 FF FE B6 00 01 00 98 DA 7E
11:59:20 AM
7E A0 12 21 03 B8 28 95 E6 E7 00 C4 01 C1 00 01 00 8A D8 7E
11:59:20 AM Read object type ProfileGeneric index: 7
7E A0 19 03 21 BA 2F D0 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 07 00 57 EB 7E
11:59:21 AM
7E A0 15 21 03 DA 1D 82 E6 E7 00 C4 01 C1 00 06 00 00 00 09 BC 85 7E
11:59:21 AM Read object type ProfileGeneric index: 8
7E A0 19 03 21 DC 1F D6 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 08 00 9F 68 7E
11:59:22 AM
7E A0 15 21 03 FC 29 C6 E6 E7 00 C4 01 C1 00 06 00 00 10 E0 E2 6A 7E
12:00:12 PM Send Keep Alive
7E A0 19 03 21 FE 0F D4 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 01 00 F9 79 7E
12:00:12 PM
7E A0 18 21 03 1E BA 89 E6 E7 00 C4 01 C1 00 09 06 00 00 28 00 00 FF B6 6E 7E
12:01:02 PM Send Keep Alive
7E A0 19 03 21 10 7F DA E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 01 00 F9 79 7E
12:01:02 PM
7E A0 18 21 03 30 C6 41 E6 E7 00 C4 01 C1 00 09 06 00 00 28 00 00 FF B6 6E 7E
12:01:08 PM Read object type ProfileGeneric index: 4
7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
12:01:09 PM
7E A0 15 21 03 52 5D 8A E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
12:01:09 PM Read object type ProfileGeneric index: 5
7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
12:01:09 PM
7E A0 12 21 03 74 48 99 E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
12:01:09 PM Read object type ProfileGeneric index: 6
7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
12:01:10 PM
7E A0 22 21 03 96 A6 11 E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
12:01:10 PM Reading profile generic data
7E A0 4C 03 21 98 7E 69 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 01 01 02 04 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E5 0C 01 FF 0F 14 00 FF FE B6 00 09 0C 07 E5 0C 08 FF 0C 14 00 FF FE B6 00 01 00 64 4B 7E
12:01:11 PM
7E A0 12 21 03 B8 28 95 E6 E7 00 C4 01 C1 00 01 00 8A D8 7E
12:01:11 PM Read object type ProfileGeneric index: 7
7E A0 19 03 21 BA 2F D0 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 07 00 57 EB 7E
12:01:12 PM
7E A0 15 21 03 DA 1D 82 E6 E7 00 C4 01 C1 00 06 00 00 00 0A 27 B7 7E
12:01:12 PM Read object type ProfileGeneric index: 8
7E A0 19 03 21 DC 1F D6 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 08 00 9F 68 7E
12:01:12 PM
7E A0 15 21 03 FC 29 C6 E6 E7 00 C4 01 C1 00 06 00 00 10 E0 E2 6A 7E
12:01:35 PM Read object type ProfileGeneric index: 4
7E A0 19 03 21 FE 0F D4 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
12:01:36 PM
7E A0 15 21 03 1E 35 02 E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
12:01:36 PM Read object type ProfileGeneric index: 5
7E A0 19 03 21 10 7F DA E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
12:01:37 PM
7E A0 12 21 03 30 68 9D E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
12:01:37 PM Read object type ProfileGeneric index: 6
7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
12:01:37 PM
7E A0 22 21 03 52 8E 91 E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
12:01:37 PM Reading profile generic data 1.0.99.1.1.255
7E A0 2C 03 21 54 FA FC E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 01 02 02 04 06 00 00 00 06 06 00 00 00 0B 12 00 01 12 00 00 4B 34 7E
12:01:39 PM
7E A8 89 21 03 74 B2 ED E6 E7 00 C4 01 C1 00 01 05 02 0A 09 0C 07 E2 06 0F 05 08 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 A4 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 0F 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 E9 99 7E
12:01:39 Get next frame.
12:01:39 PM Reading profile generic data 1.0.99.1.1.255
7E A0 07 03 21 71 13 C5 7E
12:01:41 PM
7E A8 89 21 03 76 A0 CE 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 1E 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 9B 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 2D 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 65 EC 7E
12:01:41 Get next frame.
12:01:41 PM Reading profile generic data 1.0.99.1.1.255
7E A0 07 03 21 91 1D 22 7E
12:01:41 PM
7E A0 43 21 03 78 89 9A 0C 07 E2 06 0F 05 09 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 A6 4E 7E
12:01:42 PM Read object type ProfileGeneric index: 7
7E A0 19 03 21 B6 43 1A E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 07 00 57 EB 7E
12:01:42 PM
7E A0 15 21 03 9A 19 C0 E6 E7 00 C4 01 C1 00 06 00 00 00 0A 27 B7 7E
12:01:42 PM Read object type ProfileGeneric index: 8
7E A0 19 03 21 D8 3B 90 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 08 00 9F 68 7E
12:01:43 PM
7E A0 15 21 03 BC 2D 84 E6 E7 00 C4 01 C1 00 06 00 00 10 E0 E2 6A 7E
12:02:33 PM Send Keep Alive
7E A0 19 03 21 FA 2B 92 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 01 00 F9 79 7E
12:02:34 PM
7E A0 18 21 03 DE B6 4F E6 E7 00 C4 01 C1 00 09 06 00 00 28 00 00 FF B6 6E 7E
12:02:46 PM Read object type ProfileGeneric index: 4
7E A0 19 03 21 1C 13 10 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
12:02:47 PM
7E A0 15 21 03 F0 45 0C E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
12:02:47 PM Read object type ProfileGeneric index: 5
7E A0 19 03 21 3E 03 12 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
12:02:48 PM
7E A0 12 21 03 12 78 9F E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
12:02:48 PM Read object type ProfileGeneric index: 6
7E A0 19 03 21 50 7B 98 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
12:02:48 PM
7E A0 22 21 03 34 BE 97 E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
12:02:48 PM Reading profile generic data
7E A0 4C 03 21 72 2A 21 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 01 01 02 04 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E5 0C 17 FF 00 00 00 FF FE B6 00 09 0C 07 E5 0C 17 FF 0C 14 00 FF FE B6 00 01 00 AB C3 7E
12:02:49 PM
7E A0 12 21 03 56 58 9B E6 E7 00 C4 01 C1 00 01 00 8A D8 7E
12:02:49 PM Read object type ProfileGeneric index: 7
7E A0 19 03 21 94 53 18 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 07 00 57 EB 7E
12:02:50 PM
7E A0 15 21 03 78 05 04 E6 E7 00 C4 01 C1 00 06 00 00 00 0A 27 B7 7E
12:02:50 PM Read object type ProfileGeneric index: 8
7E A0 19 03 21 B6 43 1A E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 08 00 9F 68 7E
12:02:51 PM
7E A0 15 21 03 9A 19 C0 E6 E7 00 C4 01 C1 00 06 00 00 10 E0 E2 6A 7E
12:03:13 PM Read object type ProfileGeneric index: 4
7E A0 19 03 21 D8 3B 90 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
12:03:13 PM
7E A0 15 21 03 BC 2D 84 E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
12:03:13 PM Read object type ProfileGeneric index: 5
7E A0 19 03 21 FA 2B 92 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
12:03:14 PM
7E A0 12 21 03 DE 18 93 E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
12:03:14 PM Read object type ProfileGeneric index: 6
7E A0 19 03 21 1C 13 10 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
12:03:15 PM
7E A0 22 21 03 F0 96 17 E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
12:03:15 PM Reading profile generic data
7E A0 4C 03 21 3E 42 A9 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 01 01 02 04 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E5 0C 14 FF 00 00 00 FF FE B6 00 09 0C 07 E5 0C 18 FF 00 00 00 FF FE B6 00 01 00 E3 DE 7E
12:03:16 PM
7E A0 12 21 03 12 78 9F E6 E7 00 C4 01 C1 00 01 00 8A D8 7E
12:03:16 PM Read object type ProfileGeneric index: 7
7E A0 19 03 21 50 7B 98 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 07 00 57 EB 7E
12:03:16 PM
7E A0 15 21 03 34 6D 8C E6 E7 00 C4 01 C1 00 06 00 00 00 0A 27 B7 7E
12:03:16 PM Read object type ProfileGeneric index: 8
7E A0 19 03 21 72 6B 9A E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 08 00 9F 68 7E
12:03:17 PM
7E A0 15 21 03 56 79 CC E6 E7 00 C4 01 C1 00 06 00 00 10 E0 E2 6A 7E
12:03:54 PM Read object type ProfileGeneric index: 4
7E A0 19 03 21 94 53 18 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
12:03:55 PM
7E A0 15 21 03 78 05 04 E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
12:03:55 PM Read object type ProfileGeneric index: 5
7E A0 19 03 21 B6 43 1A E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
12:03:56 PM
7E A0 12 21 03 9A 38 97 E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
12:03:56 PM Read object type ProfileGeneric index: 6
7E A0 19 03 21 D8 3B 90 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
12:03:56 PM
7E A0 22 21 03 BC FE 9F E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
12:03:56 PM Reading profile generic data 1.0.99.1.1.255
7E A0 19 03 21 FA 2B 92 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 00 EF 95 7E
12:03:58 PM
7E A8 89 21 03 DE E2 E7 E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 01 70 01 0A 02 0A 09 0C 07 E1 0C 0C 02 09 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 08 02 06 00 00 08 C8 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 02 0A 06 05 2D 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 AF 05 00 00 00 00 06 00 00 00 00 06 00 00 00 3E 39 7E
12:03:58 Get next frame.
12:03:58 PM Reading profile generic data 1.0.99.1.1.255
7E A0 07 03 21 11 15 A6 7E
12:03:59 PM
7E A8 89 21 03 D0 9C 0E 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 02 0A 06 06 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 B2 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 02 0F 04 06 0F 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 A1 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 11 72 7E
12:03:59 Get next frame.
12:03:59 PM Reading profile generic data 1.0.99.1.1.255
7E A0 07 03 21 31 17 87 7E
12:04:01 PM
7E A0 88 21 03 D2 15 6B 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 07 2D 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 97 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 A4 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 3C BE 7E
12:04:01 Get Next Data block.
12:04:01 PM Reading profile generic data 1.0.99.1.1.255
7E A0 13 03 21 5C B9 8E E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E
12:04:02 PM
7E A8 89 21 03 F4 BA 69 E6 E7 00 C4 02 C1 01 00 00 00 02 00 81 F4 02 0A 09 0C 07 E2 06 0F 05 08 0F 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 1E 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 9B 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 49 E1 7E
12:04:02 Get next frame.
12:04:02 PM Reading profile generic data 1.0.99.1.1.255
7E A0 07 03 21 71 13 C5 7E
12:04:04 PM
7E A8 89 21 03 F6 A8 4A 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 2D 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 09 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 A3 D3 7E
12:04:04 Get next frame.
12:04:04 PM Reading profile generic data 1.0.99.1.1.255
7E A0 07 03 21 91 1D 22 7E
12:04:04 PM
7E A0 0B 21 03 F8 EE ED 00 00 DE FC 7E
12:04:05 PM Read object type ProfileGeneric index: 7
7E A0 19 03 21 BE 0B 96 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 07 00 57 EB 7E
12:04:05 PM
7E A0 15 21 03 1A 11 44 E6 E7 00 C4 01 C1 00 06 00 00 00 0A 27 B7 7E
12:04:05 PM Read object type ProfileGeneric index: 8
7E A0 19 03 21 D0 73 1C E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 08 00 9F 68 7E
12:04:06 PM
7E A0 15 21 03 3C 25 00 E6 E7 00 C4 01 C1 00 06 00 00 10 E0 E2 6A 7E
Hi,
Hi,
When you read 1.0.99.1.1.255 using Range the meter returns an empty buffer. When you read 1.0.99.1.1.255 with entry the meter returns data. It might be that the read by range is not implemented for this profile generic or meter expects exact date-time format. You need to verify this from the meter vendor. Try to read data from the meter where hours and minutes are zero so reading will start from midnight. If the meter returns data, then try to read setting only minutes to zero.
BR,
Mikko
Sorry its because the range i
Sorry its because the range i was selecting had no data here's a log from a range which had data:
12:41:12 Maximum BaudRate is set to : 1200
12:41:12 BaudRate is : 1200
12:41:12 PM Moving to mode E.
06 32 32 32 0D 0A
12:41:15 PM Send SNRM request.
7E A0 07 03 21 93 0F 01 7E
12:41:16 PM
7E A0 20 21 03 73 73 98 81 80 14 05 02 00 80 06 02 00 80 07 04 00 00 00 01 08 04 00 00 00 01 CE 6A 7E
12:41:16 Parsing UA reply succeeded.
12:41:16 PM Send AARQ request.
7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
12:41:17 PM
7E A0 37 21 03 30 6C 7C E6 E7 00 61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 12 14 01 00 00 07 27 A8 7E
12:41:17 Parsing AARE reply succeeded.
12:41:19 PM Read object type ProfileGeneric index: 4
7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 04 00 3F C1 7E
12:41:19 PM
7E A0 15 21 03 52 5D 8A E6 E7 00 C4 01 C1 00 06 00 00 03 84 39 F0 7E
12:41:19 PM Read object type ProfileGeneric index: 5
7E A0 19 03 21 54 5F DE E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 05 00 E7 D8 7E
12:41:20 PM
7E A0 12 21 03 74 48 99 E6 E7 00 C4 01 C1 00 16 01 9A 11 7E
12:41:20 PM Read object type ProfileGeneric index: 6
7E A0 19 03 21 76 4F DC E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 06 00 8F F2 7E
12:41:21 PM
7E A0 22 21 03 96 A6 11 E6 E7 00 C4 01 C1 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 BE 7F 7E
12:41:21 PM Reading profile generic data
7E A0 4C 03 21 98 7E 69 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 02 01 01 02 04 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E1 0C 01 FF 00 00 00 FF FE B6 00 09 0C 07 E5 0C 17 FF 0C 14 00 FF FE B6 00 01 00 30 DC 7E
12:41:23 PM
7E A8 89 21 03 B8 D2 E1 E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 01 70 01 0B 02 0A 09 0C 07 E1 0C 0C 02 09 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 08 02 06 00 00 08 C8 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 02 0A 06 05 2D 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 AF 05 00 00 00 00 06 00 00 00 00 06 00 00 00 AB F4 7E
12:41:23 Get next frame.
12:41:23 PM Reading profile generic data
7E A0 07 03 21 B1 1F 03 7E
12:41:24 PM
7E A8 89 21 03 BA C0 C2 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 02 0A 06 06 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 B2 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 02 0F 04 06 0F 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 A1 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 11 72 7E
12:41:24 Get next frame.
12:41:24 PM Reading profile generic data
7E A0 07 03 21 D1 19 60 7E
12:41:26 PM
7E A0 88 21 03 BC 6D E1 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 07 2D 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 97 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 A4 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 3C BE 7E
12:41:26 Get Next Data block.
12:41:26 PM Reading profile generic data
7E A0 13 03 21 FA 85 4E E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E
12:41:27 PM
7E A8 89 21 03 DE E2 E7 E6 E7 00 C4 02 C1 01 00 00 00 02 00 82 01 31 02 0A 09 0C 07 E2 06 0F 05 08 0F 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 1E 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 9B 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 E6 D0 7E
12:41:27 Get next frame.
12:41:27 PM Reading profile generic data
7E A0 07 03 21 11 15 A6 7E
12:41:29 PM
7E A8 89 21 03 D0 9C 0E 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 08 2D 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 02 0A 09 0C 07 E2 06 0F 05 09 00 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 98 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 E8 E0 7E
12:41:29 Get next frame.
12:41:29 PM Reading profile generic data
7E A0 07 03 21 31 17 87 7E
12:41:30 PM
7E A0 49 21 03 D2 77 4C 00 00 00 02 0A 09 0C 07 E2 06 0F 05 09 0F 00 00 80 00 00 06 00 00 00 00 06 00 00 00 00 05 00 00 03 E8 06 00 00 08 AA 05 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 06 00 00 00 00 3C 48 7E
12:41:30 PM Read object type ProfileGeneric index: 7
7E A0 19 03 21 5C 17 52 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 07 00 57 EB 7E
12:41:31 PM
7E A0 15 21 03 F4 61 4A E6 E7 00 C4 01 C1 00 06 00 00 00 0C 11 D2 7E
12:41:31 PM Read object type ProfileGeneric index: 8
7E A0 19 03 21 7E 07 50 E6 E6 00 C0 01 C1 00 07 01 00 63 01 01 FF 08 00 9F 68 7E
12:41:31 PM
7E A0 15 21 03 16 7D 8E E6 E7 00 C4 01 C1 00 06 00 00 10 E0 E2 6A 7E
Thank You,
Uzmaan
Hi,
Hi,
Have you modified the source code or is DLMS_IGNORE_MALLOC used?
BR,
Mikko
DLMS_IGNORE_MALLOC is
DLMS_IGNORE_MALLOC is commented out, and no i haven't modified the source code for profile generic
Thank You,
Uzmaan
Hi,
Hi,
Can you use malloc? Reading profile generic is a pain if you don't use malloc. You need to parse all values by yourself because the client doesn't know the data structure.
BR,
Mikko
Hi,
Hi,
Does that mean I must uncomment it from the gxignore file? And also is there a way i can specify what day of the week is while requesting the readrowsbyrange option for the start and end time?
Hi,
Hi,
Sorry. My mistake. DLMS_IGNORE_MALLOC must be commented out. I read that you were un-commented it. That is correct. The reason I was asking this is that there are a few extra bytes. Are you using an Android example?
BR,
Mikko
No i am running it through
No i am running it through the Arduino IDE
Hi,
Hi,
I believe I finally know the reason. Your object type of first capture objects is invalid.
I believe it should be CLOCK and now it's a random value.
Check that.
BR,
Mikko