Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Forums
  3. GXDLMSRegister SetValue Method

GXDLMSRegister setValue method

Forum Rules

Before commenting read Forum rules

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 sakshi , 19 August, 2019
Forums
Gurux DLMS for Java

Hi
In the below method of gurux.dlms.objects.GXDLMSRegister, you have used "if (scaler != 1 && e.getValue() != null) " case. I want to know, isn't it wrong. Because if scaler is 1 then it should multiply value with 10. But here it skips. Because of it, value is incorrect.

eg. if value=268 and scaler is 1 (received from meter)
then final value should be 2680. But it is giving same 268.

public void setValue(final GXDLMSSettings settings,
final ValueEventArgs e) {
// CHECKSTYLE:ON

if (e.getIndex() == 1) {
setLogicalName(GXCommon.toLogicalName(e.getValue()));
} else if (e.getIndex() == 2) {
if (scaler != 1 && e.getValue() != null) {
try {
if (settings.isServer()) {
setValue(e.getValue());
} else {
objectValue =
new Double(((Number) e.getValue()).doubleValue()
* getScaler());
}
} catch (Exception e1) {
// Sometimes scaler is set for wrong Object type.
setValue(e.getValue());
}
} else {
setValue(e.getValue());
}
} else if (e.getIndex() == 3) {
// Set default values.
if (e.getValue() == null) {
scaler = 0;
unit = 0;
} else {
Object[] arr = (Object[]) e.getValue();
if (arr == null || arr.length != 2) {
scaler = 0;
unit = 0;
} else {
scaler = ((Number) arr[0]).intValue();
unit = (((Number) arr[1]).intValue() & 0xFF);
}
}
} else {
e.setError(ErrorCode.READ_WRITE_DENIED);
}
}

Can you tell me if it is a bug or something else?

thanks

Profile picture for user Kurumi

Kurumi

7 years 1 month ago

Hi,

Hi,

I believe that you are right about this. We'll fix this tomorrow and release a new version. I fast checked this from other programming languages and it's correct on them.

Thank you for reporting this.

BR,

Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Wed, 08/26/2026 - 09:04
    Gurux.DLMS.Python 1.0.203
  • Mon, 08/17/2026 - 11:28
    Gurux.DLMS.Python 1.0.202
  • Mon, 08/17/2026 - 09:47
    gurux.dlms.cpp 9.0.2608.1701
  • Mon, 08/17/2026 - 09:25
    gurux.dlms.c 9.0.2608.1701
  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701

New forum topics

  • Security vulnerability report — request for a private contact (GuruxDLMS.c / ANSI C)
  • Topic: Insufficient Memory Error When Reading Class 7 Profile Generic Objects
  • SN ReadResponse returns all-null values when response spans multiple HDLC frames
  • Gurux.Serial.Android 3.0.6 – CH340 (HL-340) USB-Serial Adapter Not Working,
  • Trying to talk to a L&G E360 meter (Using Python Gurux)
More

Who's new

  • cyby
  • Metin Onan
  • ssv007
  • 3nzol3dur
  • dw772
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin