Sign inSign up

dougeubanks/gogmc320

By dougeubanks

Updated over 3 years ago

DEPRECATED - unmaintained since 2023. Use dougeubanks/gmc-exporter instead.

Image
0

328

dougeubanks/gogmc320 repository overview

⚠️ This image is no longer maintained

Last built February 2023. Please move to dougeubanks/gmc-exporter.

This image was a container build of the upstream anderskvist/GoGMC320 project, which is no longer developed. This image receives no updates, including security updates.

Replacement

dougeubanks/gmc-exporter · source: https://github.com/RealDougEubanks/gmc-exporter · MIT licensed

It is not a fork. It is an independent implementation written from GQ Electronics' published protocol specification (GQ-RFC1201) and from direct measurement of the hardware. It supports the same GMC-series counters and the same radmon.org and InfluxDB destinations, plus Prometheus, MQTT with Home Assistant discovery, OpenTelemetry, GMCMAP and Safecast.

This imagegmc-exporter
Size~353 MB~7 MB
Runs asroot, --privilegednon-root, --device
Destinationsradmon.org, InfluxDB 1.x8 sinks, all optional
Health endpointsnone/healthz, /readyz, /health, /metrics
Platformsamd64amd64, arm64
Maintainednoyes

Why you should move

Two behaviours were measured on a running instance of this image and are worth knowing if you are still using it:

  • It exits on transient network errors. A timeout reaching radmon.org terminates the process. Measured at roughly 24 exits per day.
  • Credentials can reach the container logs. Go embeds the full request URL in transport errors, and the radmon.org API carries the password as a URL parameter, so a failed submission can write it to your logs in plaintext. If you have run this image, consider rotating your radmon.org data-sending password.

Neither is a criticism of the upstream authors; both are simply what the code does, and you should know about the second one.

Migrating

Your existing config.ini keeps working. Its schema is recognised automatically, and InfluxDB defaults to the same measurement and field names so existing dashboards keep matching.

Two changes are needed:

  1. Device access. Add --group-add for the group owning /dev/ttyUSB0 (usually 16, dialout). You can keep your existing volume mapping and privileged setting, or switch to --device=/dev/ttyUSB0 and turn privileged off, which is the better option.
  2. Command. Remove the /config.ini argument. The file is found automatically.
docker run -d --name gmc-exporter \
  --device=/dev/ttyUSB0 \
  --group-add="$(stat -c '%g' /dev/ttyUSB0)" \
  -v /path/to/config.ini:/config.ini:ro \
  -p 9101:9101 \
  dougeubanks/gmc-exporter:latest

Full guide: Migrating from the older GoGMC320 exporter

Existing tags

The latest and 2 tags remain published so nothing breaks for anyone pinned to them. They will not be updated.

Tag summary

Content type

Image

Digest

sha256:6acf7b8b0

Size

352.7 MB

Last updated

over 3 years ago

docker pull dougeubanks/gogmc320