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. Misunderstading With Values and Scalers In Generic Profiles

Misunderstading with values and scalers in generic profiles

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 DenisMalakhov , 16 December, 2021
Forums
General discussion

Hello

Can you explain me something?

When I read the monthly profile, a value is registered there, for example, 2131. After that, I checked the scaler profile. And the value {0.001, active power} is configured for this register. Then I checked the register, and there was a decimal with three digits after the dot. It turns out that a converted value with a scale of 1 was recorded in the monthly profile?

Sorry for my English. I can attach screenshots if you did not understand my question.

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Values are saved without scaler to the meter's register and profiles. GXDLMSDirector uses scaler if it's set. Meters are saving values without scalers usually because meters don't use floating-point values.

Also, someone might change the scaler later. Scaler is configurable value in several meters and for this reason, meter saves values always using the same unit.

BR,
Mikko

DenisMalakhov

4 years 5 months ago

Thanks for answer. So what is

Thanks for answer. So what is the meaning of scalers? If I understand you correctly, scalers are not used when profiles are being recorded.

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

The idea of scalers is that the client application can show the value in the correct format. Because there is no float data type in most of the meters and value is wanted to show with two decimal like 254.33.
Meter saves integer value 25433 and scaler is set to 0.01. Now a client can show value as double.

The same thing with the kWh. DLMS standard defines only Wh as a unit and if the meter is saving the value in KWh scaler is set to 1000.

BR,
Mikko

DenisMalakhov

4 years 5 months ago

Can you check the screenshot?

Can you check the screenshot? So the meter stores value 2923Wh but GXDLMSDirector converts this to kWh by his own? And this value will be recorded in profile without converting, right?

Image

DenisMalakhov

4 years 5 months ago

But you say that "The same

But you say that "The same thing with the kWh. DLMS standard defines only Wh as a unit and if the meter is saving the value in KWh scaler is set to 1000.". Following this logic, meter should store values in milliwatts. And to get watts, it was necessary to multiply the value by 0.001.
I am trying to understand is this a manufacturer bug or do I not fully understand how it works?

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Meter saves this value without scaler. GXDLMSDirector uses scaler to show value in Register and Profile generic objects.

No, Meter will save whatever format it wants to. What I mean is that some meters are saving values in KWh. When the value is read meter returns 1. Because you have read the scaler you will know that this one is not one Wh and you need to multiply it by 1000.

BR,
Mikko

DenisMalakhov

4 years 5 months ago

"Because you have read the

"Because you have read the scaler you will know that this one is not one Wh and you need to multiply it by 1000.". That is what I am talking about. On the screenshot scaler is 0,001. When i get value 2923 it means that i get 2923 milliwatts. And to get only watts i need 2923*0,001. Right? If it is correct then 2.923 Wh impossible value in my case.

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

First, I'm speaking in general. I don't know what you try to read and the unit and scaler can be anything.

If the scaler is 0,001 you need to multiple register value by it (2923*0,001) and the actual value is 2.923.

BR,
Mikko

DenisMalakhov

4 years 5 months ago

Finally figured it out,

Finally figured it out, reread the meter documentation again, it says that this value is stored in kWh, but since you said that meters only work with integers, it turns out that 2923* 0.001 will not be Wh, but kWh. Thank you for your help, now I know what I will pay attention to first.

Profile picture for user Kurumi

Kurumi

4 years 5 months ago

Hi,

Hi,

Remember to check the unit as well in the future. Communication is defined in the DLMS standard, but the content of the registers can be anything.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin