A dashboard for your solar data. This currently only supports AlphaESS systems using the AlphaESS API to pull data. You need to have an Open AlphaESS developer account to poll this data. See more at AlphaCloud Open API Github repository
It's storing all data locally and does not need to store anything in the cloud.
It's also rather barebones as I have hacked it up in a few evenings. While being designed rather generic for any photovoltaic data, it's in fact heavily tailored to the way AlphaESS exports data, so it might take some refactoring to make it usable for your own solar data.
- Register an account at https://open.alphaess.com/
- Go to Releases and download the latest for your platform
- Unzip, change into the unzipped directory and run
bin/sunboard - Point your browser to http://localhost:8080
- Go to
Configurationand add your sysSn, appId and appSecret plus a mandatory start date, how far back your data should be pulled from. It makes sense to specifiy the date when your PV system was installed - Wait a while for all the data to be imported and then enjoy the graphs
- If you want to see graphs for money saved, you need to add prices in the
Pricestab. Lower timestamps are inclusive, upper timestamps are exclusive, so you can use timestamps like2024-11-01as end and start timestamps without overlap. - If you want to run SQL queries yourself against your downloaded data, you can use duckdb CLI tool via
duckdb -readonly $HOME/.config/sunboard/solar_db.duckdb(after you installed duckdb, for example viabrew install duckdb)
Once you open the browser, you need to fill out the configuration tab.
Next you should also fill out the prices tab, so you can see the amount of money saved over time.
Then wait until all the data is fetched in the background.
You can also clone this repo and then run it like this (including local changes):
git clone https://github.com/spinscale/sunboard
cd sunboard
./mvnw verify -DskipTests exec:java
You need to ensure you have at least Java 25 already installed locally
- Charging data (per week, total sum of charging)
- Load (per week, with and without car charging)
- Load per year
- PV production per week/month/year
- Top 10 of days with minimal/minimal produce
- Peak production (to check degeneration over time)
- Heatmap to see production per hour of the day for each month
- Economics: Money saved due to running on battery/solar
- Economics: Money earned due to pushing to the grid
- Economics: Amount of time running on the grid/being independent (guessed)
- Economics: Sum of total savings (aka figuring out when this thing is written off)
- Longest streaks without requiring grid power
Some screenshots
- Note: Take care of your app secret, it not only allows to read data, but also allows to do changes on your solar installation! If you have a static IP you could whitelist just that one.
- Your data is stored in a local duckdb database, by default in
$HOME/.config/sunboard/solar_db.duckdb - I tested this only on mac os, neither Linux nor Windows
- This is written in Java. This tool uses Javelit for dashboarding, DuckDB for storing data, JBDI for queries, Jackson for JSON parsing.
This serves more as a reminder for me what to do, as I keep forgetting things.
- Update maven wrapper:
./mvnw wrapper:wrapper -Dmaven=3.9.12 - Find outdated depdendencies:
./mvnw versions:display-dependency-updates - Find outdated plugin dependencies:
./mvnw versions:display-plugin-updates - Build & upload release artifacts for all platforms:
./mvnw clean package
./mvnw -Pjdks
./mvnw jreleaser:assemble jreleaser:release
This is open source, and I made this for you to share and enjoy. Feel free to fork, modify and submit pull requests so I can incorporate those.
If you submit PRs, make sure you can ./mvnw license:check and ./mvnw license:format to fix formatting. Also running ./mvnw package to run the
tests should help.
Next TODO: document the SQL tables being used: configuration, prices,
energy_daily and energy_point_in_time.






