Skip to content

Register IDs for Kamstrup electricity meter #2

@amorsen

Description

@amorsen

PyKMP is working great for an unencrypted Kamstrup 382 electrical meter.

$ pykmp-tool -d /dev/ttyUSB0 get-register --register 1 --register 2 --register 0x000d --register 0x000e --register 0x041e --register 0x041f --register 0x0420 ; pykmp-tool -d /dev/ttyUSB0 get-register --register 0x0434   --register 0x0435 --register 0x0436 ; pykmp-tool -d /dev/ttyUSB0 get-register --register 0x03ff --register 0x0438 --register 0x0439 --register 0x043a --register 0x400 --register 0x0540 
WARNING:pykmp.tool.__main__:Unknown register ID(s); please report this if you have more information.
GetRegister response(s):
   1 → <unknown reg 1>  = 53740 kWh
   2 → <unknown reg 2>  = 0 kWh
  13 → <unknown reg 13> = 3740.1417 kWh
  14 → <unknown reg 14> = 0.2849 kWh
1054 → <unknown reg 1054> = 229 V
1055 → <unknown reg 1055> = 229 V
1056 → <unknown reg 1056> = 228 V
WARNING:pykmp.tool.__main__:Unknown register ID(s); please report this if you have more information.
GetRegister response(s):
1076 → <unknown reg 1076> = 0.75 A
1077 → <unknown reg 1077> = 0.55 A
1078 → <unknown reg 1078> = 1.66 A
WARNING:pykmp.tool.__main__:Unknown register ID(s); please report this if you have more information.
GetRegister response(s):
1023 → <unknown reg 1023> = 0.435 kW
1080 → <unknown reg 1080> = 0.061 kW
1081 → <unknown reg 1081> = 0.076 kW
1082 → <unknown reg 1082> = 0.298 kW
1024 → <unknown reg 1024> = 0.000 kW

The register numbers are taken from https://github.com/bsdphk/PyKamstrup. They correspond to:

1: Total energy in (all phases)
2: Total energy out (all phases)
13: Total energy in hi-res (all phases)
14: Total energy out hi-res (all phases)
1054: Voltage L1
1055: Voltage L2
1056: Voltage L3
1076: Current L1
1077: Current L2
1078: Current L3
1023: Power in (all phases)
1080: Power in L1
1081: Power in L2
1082: Power in L3
1024: Power out (all phases)

There are undoubtedly also per-phase measurements for outgoing power, but I do not have solar cells or battery, so I cannot test that.

The hi-res value appears to consist of the last 3 digits of the regular value + 4 decimals. This makes it possible, if a bit annoying, to reconstruct the full value in high resolution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions