Skip to content

A command line tool to query the GOODWE SEMS APIs and SEMS Solar API.

License

Notifications You must be signed in to change notification settings

AaronSaikovski/gogoodwe

Repository files navigation

GoGoodwe V2.0.5

A command line tool to query the GOODWE SEMS Solar Inverter APIs - written in 100% Go.

Build Status Licence

Installation

The toolchain is mainly driven by the Makefile.

help         - Display help about make targets for this Makefile
release      - Builds the project in preparation for (local)release
goreleaser   - Builds the project in preparation for release
docs         - updates the swagger docs
build        - Builds the project in preparation for debug
run          - builds and runs the program on the target platform
clean        - Remove the old builds and any debug information
test         - executes unit tests
deps         - fetches any external dependencies and updates
vet          - Vet examines Go source code and reports suspicious constructs
staticcheck  - Runs static code analyzer staticcheck - currently broken
seccheck     - Code vulnerability check
lint         - format code and tidy modules

To get started type,

  • make dep - to fetch all dependencies
  • make build - to build debug version for your target environment architecture
  • make release - Builds a release version for your target environment architecture

Usage

Determine the Station ID from the GOODWE site as follows. Open the Sems Portal. The Plant Status will reveal the Station ID in the URL. Example:

https://www.semsportal.com/powerstation/powerstatussnmin/11112222-aaaa-bbbb-cccc-ddddeeeeeffff

Then the Station ID is 11112222-aaaa-bbbb-cccc-ddddeeeeeffff.

From the command line the usage is pretty simple:

##Note the use of single quotes ''
./gogoodwe --account '<user@email.com>' --pwd '<password>' --powerstationid '<powerstation id>' --summary

# Or
./gogoodwe -a '<user@email.com>' -p '<password>' -i '<powerstation id>' -s

##where daily summary provides a shorter daily view of the inverter data

To get the help on using the command line tool, type:

./gogoodwe --help

# Or
./gogoodwe -h

Contributions

Please feel free to lodge an issue or pull request on GitHub.

Thanks

Disclaimer

GOODWE access is based on the undocumented API used by mobile apps. This could break at any time.

Known Issues

None at time of release.