Gosdm630 Versions Save

An interface for the Eastron SDM/Modbus smart meter series.

v0.7.0

5 years ago

GoSDM 0.7 is focused on improving the structure of the codebase. With the ongoing refactoring GoSDM will in future support even more meter types!

New features:

  • Support Saia Burgess Controls ALE3 meters (#54)
  • Implement modbus simulation for testing (#66)
  • Various improvements of the web UI
  • Support for go 1.11
  • Improved the README

v0.6.0

5 years ago

New features:

  • websocket and mqtt support (#39)
  • web ui frequency display (#27)
  • http api CORS headers (#31)
  • various fixes (#34)

v0.5.1

6 years ago

This minor release adds support for the DVH4013 smart meter of "Deutsche Zählergesellschaft" (DZG). The device is rather quirky and does not support the full range of measurements available from other smart meters. I don't recommend this meter, but partial support is now implemented.

v0.5.0

6 years ago

Starting with version 0.5.0, we support not only the full range of Eastron SDM devices, but also Janitza's B23 meters. The web API remains the same, but we needed to change the -d commandline parameter to incorporate the type of smart meter. From the help:

--device_list value, -d value       MODBUS device type and ID to query, separated by comma.
                                           Valid types are:
                                           "SDM" for Eastron SDM meters
                                           "JANITZA" for Janitza B-Series DIN-Rail meters
                                           Example: -d JANITZA:1,SDM:22,SDM:23 (default: "SDM:1")

This was quite a bit of work, but from now on, it should be rather simple to integrate new MODBUS/RTU-based smart meters.

The second big change is the error behavior. If a smart meter fails to respond, older versions just terminated. Now, you can retrieve the status of all configured meters via the /status API:

$ curl http://localhost/status
{
  "Starttime": "2017-07-28T15:38:45.54489724+02:00",
  "UptimeSeconds": 57.938761499,
  "Goroutines": 18,
  "Memory": {
    "Alloc": 4127168,
    "HeapAlloc": 4127168
  },
  "Modbus": {
    "TotalModbusRequests": 1523,
    "ModbusRequestRatePerMinute": 1577.1824877819865,
    "TotalModbusErrors": 0,
    "ModbusErrorRatePerMinute": 0
  },
  "ConfiguredMeters": [
    {
      "Id": 26,
      "Type": "JANITZA",
      "Status": "available"
    },
    {
      "Id": 21,
      "Type": "SDM",
      "Status": "available"
    }
  ]
}

Previously, we used the all category for meter updates in the firehose streaming API. This changes with this release to meterupdates, because we now propagate the status of the smart meters once per seconds on the statusupdates category of the firehose.

In addition to these features, we incorporated lots of bugfixes and small changes.

v0.4.0

6 years ago

Realtime web interface

We now have a shiny web interface that updates itself as soon as a value is read from the smart meter: realtime web This is helpful for debugging and initial installation. Everything is included in the binaries: the installation remains as easy as downloading the binary and starting it.

Additional features

  • We introduce the sdm_detect utility that allows you to search for Eastron SDM meters.
  • We also worked on the stability, especially for the Raspberry Pi in combination with FTDI USB cables. Please refer to the documentation. We spawned a sister project that develops an isolated USB-RS485 adaptor.
  • The timing of the modbus interface is now faster. This might lead to a slightly higher modbus error rate, but since the code retries automatically, this should not be a problem.

v0.3.1

7 years ago
  • We now have a logging tool that uses the firehose stream to create an exhaustive log of all measurements. For example, to record everything and write to log.db, use something like this:
$ ./bin/sdm630_logger -v record -f log.db
  • We also log voltage total harmonic distortion (THD). Please note that these values seem to fluctuate - you need to judge the data quality for yourself.

  • The aggregated import and export kWh values are now queried correctly from the smaller SDM devices.

v0.3.0

7 years ago

We added realtime monitoring to the software. Now, if a value is read from a measurement device, you can get a push notification using HTTP long poll. This occurs without a significant delay, so this should make realtime applications possible. We intend to optimize this further in future releases by creating special schedules. In essence: you can subscribe to the firehose, or you can use the new sdm630_monitor command to subscribe to power readings.

In addition we tested the software with more devices, see the README file. We will probably rename the software in the next release because we now support all EASTRON smart meters available to us.

v0.2.0

7 years ago

Version 0.2.0 includes:

  • Updated MODBUS library - fixes bug that leads to random timeouts on the MODBUS.
  • Support for many devices included. You can now provide modbus ids on the commandline, the JSON API will provide the measurement data for all devices.
  • No wait time between queries. The MODBUS is saturated for maximum data freshness.