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. HIGH_GMAC

HIGH_GMAC

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 jonasfoyth , 21 April, 2020
Forums
Gurux.DLMS

Hello,

I am trying to use HIGH_GMAC authentication with the python module, but the configuration is not working.

Configuration:

self.media = GXNet(NetworkType.UDP, str(meter_idetintfication), PORT)
self.client = GXDLMSSecureClient(True)
self.client.interfaceType = InterfaceType.WRAPPER
self.client.serverAddress = int(1)
self.client.clientAddress = int(16)
self.client.authentication = Authentication['HIGH_GMAC']
self.client.ciphering.security = Security.AUTHENTICATION_ENCRYPTION
self.client.ciphering.systemTitle = GXByteBuffer.hexToBytes('3132333435363738')
self.client.ciphering.authenticationkey = GXByteBuffer.hexToBytes(AUTHENTICATION_KEY)
self.client.ciphering.blockCipherKey = GXByteBuffer.hexToBytes(BLOCK_CYPER_KEYY)
self.client.useLogicalNameReferencing = True

In GXDLSMDirector it's working.

Any suggestions for testing the configuration?

The image is the error when i execute this configuration.

Profile picture for user Kurumi

Kurumi

6 years 3 months ago

Hi,

Hi,

I just tested and it worked. Can you try to run example client like this:

python main.py -h localhost -p 4061 -a HighGMac -T 3132333435363738 -A D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF -B 000102030405060708090A0B0C0D0E0F -t Verbose

Update your keys to example.
BR,
Mikko

jonasfoyth

6 years 3 months ago

Yes, it's working with some

Yes, it's working with some more configurations:

python main.py -h 192.168.6.22 -p 4059 -a HighGMac -c 16 -s 1 -w -r ln -T 3132333435363738 -A XXXXX-B XXXXX -t Verbose

But when a run my scrip:

raise GXDLMSException(resultComponent, resultDiagnosticValue)
gurux_dlms.GXDLMSException.GXDLMSException: Access Error : Device reports a hardware fault.

It's caused by using:

self.client.ciphering.security = Security.AUTHENTICATION_ENCRYPTION (used in GXDLSMDirector to connect)

when i run without that (i try to write in a object):

gurux_dlms.GXDLMSException.GXDLMSException: Access Error : Device reports Read-Write denied.

Profile picture for user Kurumi

Kurumi

6 years 3 months ago

Hi,

Hi,

So your meter also requires a ciphered connection. Add -C parameter like this:
-C AuthenticationEncryption

If it fails, try to read the invocation counter adding -v parameter.

BR,
Mikko

jonasfoyth

6 years 3 months ago

Thanks Mikko, it's working

Thanks Mikko, it's working now.

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701
  • Thu, 07/23/2026 - 16:19
    gurux.dlms.java 4.0.96
  • Thu, 07/09/2026 - 14:34
    Gurux.DLMS.Python 1.0.201
  • Fri, 06/26/2026 - 16:32
    Gurux.Service 3.0.2606.2601
  • Wed, 06/24/2026 - 08:36
    Gurux.DLMS.Python 1.0.200

New forum topics

  • Version mismatch between Gurux.DLMS 9.x and Gurux.Common/Gurux.Serial 8.x
  • Service not known error on gprs communication
  • Help Needed: Interfacing Saral 100 Energy Meter with Microcontroller via RS232
  • Connecting Meter to Agent via serial
  • Reading block profile with Compact array
More

Who's new

  • prmjPfWJENeYCh…
  • Tyronesok
  • Dawley07
  • nostra
  • cuiVEAwINCoyynjjn
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin