Dear Mikko,
I have an exciting app built in flutter. Now i want to merge Gurux.DLMS.Android android functionality in that app.
Steps I have already done.
1. I have downloaded Gurux.DLMS.Android.
2. Run that android application in my mobile and connect the Simple DLMS meter with this.
3. On Read Screen there are three options: Open Read and Refresh
4. When i select any object from object list (left side) then at right side meter data displayed.
5. In the Meter Setting option there are few settings like Manufacturer, Interface, Authentication, Password, Wait Time, Client address, Address type, Physical address and logical address. I also want to set setSecurity, setSystemTitle, setBlockCipherKey,setAuthenticationKey Password so that I can communicate with smart Prepaid / Postpaid meters also. Right now I am able to communicate with a simple DLMS meter only.
Steps to be taken .
1. Firstly I want to download complete billing data of Smart Energy Meter using Optical Port and save that data in mobile memory as a file (File must be saved meter wise or append multiple meters data in a single file ) using existing
Gurux.DLMS.Android application.
2. Another option is Insert downloaded decoded billing data in SQLite database in mobile and push that data on the provided server.
3. After complete above steps i merge above android application in my existing flutter application
Hi, The Android example is…
Hi,
The Android example is limited and the UI doesn't support the secured settings.
The library is supporting them, so you need just to add needed settings for the UI or update them manually.
BR,
Mikko
Please provide the file name…
Please provide the file name in which i directly set the parameters like
setSecurity,
setSystemTitle,
setBlockCipherKey,
setAuthenticationKey
setDedicatedKey
Password
Hi, You can set the values…
Hi,
You can set the values in MeterSettingsFragment.java.
https://github.com/Gurux/Gurux.DLMS.Android/blob/master/Java/app/src/ma…
BR,
Mikko
private void…
private void setDeviceManually() {
// Set manufacturer name
mDevice.setManufacturer("ind");
...
// Set XML objects (if needed)
//mDevice.getObjects().setXml("<Objects>...</Objects>");
}
i have create above function in file
https://github.com/Gurux/Gurux.DLMS.Android/blob/master/Java/app/src/ma…
and call it in
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDevice.setMedia(new GXSerial(this));
setDeviceManually();
}
when i set ClientAddress 16 then its working but when i set it 32 or 48 the i am getting error after click on open the port
"Connect is permanently rejected Authentication failure"
But when i use same settings on GXDLMSDirector on PC and communicate with same meter then it is working.
Please tell what i am doing wrong on android application
Hi, Please, don't add code…
Hi,
Please, don't add code that doesn't tell anything.
Client address 16 is not using authentication. One of your settings is different from what the meter expects. Check your settings.
BR,
Mikko