Skip to content
Mario C edited this page May 19, 2023 · 7 revisions

The smartmeter-datacollector tool is a Python3 software which allows you to continuously retrieve data from supported smart meters (listed below). The acquired values can be forwarded to one or more data sinks like a MQTT broker or logger.

The following smart meters are supported:

  • Landis+Gyr E450:
    • Unencrypted or encrypted data pushed by smart meter over CII interface (wired M-Bus). Encoded with HDLC and DLMS/COSEM.
    • A Linux compatible USB to M-Bus Slave dongle is required. For example: USB to M-Bus dongle (with RJ12 connector, option c) has been used for development and tests. Other (cheaper) dongles have been successfully tested by the community.
    • When using the 6 pin RJ12 case connector only the middle 2 pins (pins 3 & 4) carry the M-Bus signal and need to be connected to the dongle.
  • Iskraemeco AM550:
    • Unencrypted or encrypted data pushed by smart meter over P1 interface (DSMR). Encoded with HDLC (IEC 62056-46) and DLMS/COSEM.
    • Use one of the widely available, Linux compatible, DSMR-to-USB dongles with a RJ12 connector.
  • Kamstrup OMNIPOWER with HAN-NVE module:

The following data sinks are implemented:

  • MQTT (v3.1.1):
    • Encryption
      • Unencrypted connection
      • Encrypted connection
        • TLS
        • optional custom CA certificate
    • Authentication
      • Unauthenticated
      • Authenticated with username / password
      • Authenticated with client certificate
  • Logger to stdout

smartmeter-datacollector is fully configurable through a .ini configuration file. The smartmeter-datacollector-configurator webinterface can help to create and modify the configuration.

Clone this wiki locally