Skip to content

Commit

Permalink
Merge pull request #13 from smlx/update-readme
Browse files Browse the repository at this point in the history
chore: update readme
  • Loading branch information
smlx authored Dec 6, 2023
2 parents 01b96dc + e944253 commit d1078ef
Showing 1 changed file with 36 additions and 12 deletions.
48 changes: 36 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,60 @@
# SEMS MITM Exporter
# Goodwe Prometheus Exporters

This is a Prometheus exporter for the Goodwe devices which integrate with the cloud-hosted Smart Energy Managment System (SEMS) portal.
This repository contains Prometheus metrics exporters for Goodwe solar energy devices including inverters and smart meters.

Currently only the SEMS MITM Exporter is implemented, although a Modbus exporter is planned.

## SEMS MITM Exporter

This is a Prometheus exporter for Goodwe devices which integrate with the cloud-hosted Smart Energy Managment System (SEMS) portal.
It works by implementing a [MITM attack](https://en.wikipedia.org/wiki/Man-in-the-middle_attack) on the SEMS portal protocol, hence the name.

## Hardware support
## Motivation / Features

The SEMS MITM exporter has the following advantages over just using the SEMS Portal:

* Transparently forwards data to SEMS Portal (option not to forward traffic is a WIP).
* Allows you to store your data in a Prometheus instance that you control.
* Visualise your data using standard tools like Grafana.
* Drops unrecognised incoming packets to block e.g. firmware upgrades.
* (optionally) summons Batman to the SEMS Portal.

### Hardware support

Currently hardware support is limited to the Homekit 1000.
PRs welcome if you want to add support for your device - see below.
Currently hardware support in the SEMS MITM Exporter is limited to the equipment I own:

## How to get it
* [Goodwe Homekit 1000](https://www.goodwe.com.au/single-phase-homekit) smart meter (implemented)
* [DNS G3](https://www.goodwe.com.au/dns-g3-au) inverter is a WIP.

PRs welcome if you want to add support for your device.

### How to get it

You have a couple of options:

* Pull a docker image from the Github image registry (recommended!).
* Download a release binary from the Releases page.
* Pull an image from the image registry.

## How to use it
### How to use it

At a high level:

1. Start the exporter.
1. Get traffic to the exporter. For example:
1. Get traffic to the exporter. Either:
* Point the DNS of `tcp.goodwe-power.com` to the IP of the exporter; or
* Reconfigure your hardware to connect to the IP of the exporter.
1. Configure Prometheus to scrape from the exporter on port 14028.
1. (Optional) Grab the Grafana dashboard and visualise your metrics.
1. Grab the Grafana dashboard and visualise your metrics.

Detailed instructions for supported hardware is a WIP.

## Why does this exist?

### Short version

Homekit 1000 does not support Modbus for metrics querying.
Other Goodwe hardware probably supports Modbus, which is much more convenient for scraping metrics.
Homekit 1000 does not support Modbus for metrics querying, so the only way to get data out of it appears to be from the SEMS Portal traffic.

Other Goodwe hardware probably supports Modbus, which may be more convenient for scraping metrics.

### Long version

Expand Down

0 comments on commit d1078ef

Please sign in to comment.