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 amankhalid, 31 January, 2011
I recently implemented billing data download in the BBS meter (OBIS 1.0.98.1.0.255).
I had no issues in downloading the "capture objects" (attribute 3). This data is array[28][4]. The GUI also enumerates all the capture objects correctly after the capture objects is downloaded in 10 transactions.
I am having trouble in downloading attribute 2 (buffer) of this object. The data to be downloaded is array[1][28] to be downloaded in 10 transactions. Each column is a different value (kWh, MD, MD date/time). While downloading the buffer (attribute 2), server sends three values packed inside a structure in each packet (except the last packet which has only 1 value). In other words, the data is sent as follows:
1. data_structure[3][1] x 9 = 27 values
2. data_structure[1][1] x 1 = 1 value
----------------------------------------
Total = 28 values
After downloading 2/10 packets, the GUI gives error "Value of '2' is not valid for value". Below is a dump of request and answer.
We have solved the problem. Problem is that your meter is returning wrong rows count. It returns 1, when it should return amount of rows.
This issue is causing problems when we try to show progress. We have fixed this to our software, so our software no longer shows errors of this, but you should fix this for your device.
When the billing object is read, meter returns all the billing data for only one billing period. This should correspond to a single row only. It may contain any number of values (in BBS meter's case, it is 28 as mentioned above). That is why meter is returning "1" in the number of rows field.
To explain in another way, the billing data will contain the "value" image of the "capture objects attribute" reported by this object. If there are 16 billing cycles, then "16 x value image" of the capture objects. However, if there is only 1 billing cycle, then only 1 set of values.
BBS Meter
Hi,
Could you send the log file to me by email. I will solve this problem ASAP.
Best Regards,
Mikko
BBS Meter log file
Hello Mikko,
I have sent you the log file on your email address. (Address removed from here by Administrator).
I have not gotten any response to my earlier emails I have written to you in the past. I hope the address is correct.
Regards
Aman
BS Meter log file
Hi,
We have solved the problem. Problem is that your meter is returning wrong rows count. It returns 1, when it should return amount of rows.
This issue is causing problems when we try to show progress. We have fixed this to our software, so our software no longer shows errors of this, but you should fix this for your device.
Happy Coding,
Mikko
Error while downloading billing data
Hello,
When the billing object is read, meter returns all the billing data for only one billing period. This should correspond to a single row only. It may contain any number of values (in BBS meter's case, it is 28 as mentioned above). That is why meter is returning "1" in the number of rows field.
To explain in another way, the billing data will contain the "value" image of the "capture objects attribute" reported by this object. If there are 16 billing cycles, then "16 x value image" of the capture objects. However, if there is only 1 billing cycle, then only 1 set of values.
I hope this clarifies.
Regards
Aman
Returning multible data structures.
Hi,
You can't just return multiple data structures like this. You should
wrap the data structures inside an array, like this:
array_of_datastructures
{
1. data_structure
2. data_structure
}
So what you should do, is to add the array tag, and after that, tell the amount of data structures (2) before actual data structures.
Happy coding,
Mikko