Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update readme #13

Merged
merged 1 commit into from
Dec 6, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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