Skip to content
This repository has been archived by the owner on Jun 25, 2019. It is now read-only.

Releases: gonium/gosdm630

v0.7.0

05 Oct 10:08
Compare
Choose a tag to compare

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

26 Jul 12:20
f443181
Compare
Choose a tag to compare

New features:

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

Adding limited support for DZG DVH4013

17 Aug 10:12
Compare
Choose a tag to compare

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.

Beyond Eastron SDM devices

28 Jul 13:51
Compare
Choose a tag to compare

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.

Realtime web interface, detection tool and bugfixes

21 Jun 09:11
Compare
Choose a tag to compare

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.

High-res logging tool & minor fixes

27 Mar 13:38
Compare
Choose a tag to compare
  • 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.

Now with more firehose

06 Feb 16:00
Compare
Choose a tag to compare

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.

Version 0.2.0

25 Jan 15:51
Compare
Choose a tag to compare

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.