Know exactly what your roof made today.
A private, open-source dashboard for rooftop solar systems that report to ShineMonitor through an Eybond WiFi stick, the setup behind the SmartClient app.
The official apps show the right numbers, but they're slow, cluttered and hard to read on a phone. Helio shows the same numbers, from the same cloud, as a fast private dashboard you host yourself for free.
- Exact daily units from the inverter's own energy counter, not estimated from a graph
- Live power in kW and as a share of your system's capacity, with a Generating / Idle / No recent data status
- Any past day in detail: units, value, peak power and when it hit, producing hours, a 5-minute power curve
- History: the last 30 days with average and best day, every month of the year, and a daily log you can click into
- What it's worth in your currency, with separate rates for units you use and units you export. Rates can be edited right on the dashboard
- System health: each day scored against your own best days, adjusted for how sunny it was, so a cloudy day isn't mistaken for a fault
- Cleaning advice: tells you when dust is likely costing output, measured against how the panels did after the last rain or cleaning
- Today's estimate: the range a clean system should make today, from the sunshine forecast
- Inverter and grid: live panel voltage and current, grid voltage and frequency, temperatures, and a daily grid check with high-voltage trips and output stops
- Alarms and WiFi stick: the inverter's alarm history and whether the datalogger is online
- CSV export: daily and monthly files with clearly labelled units, ready for Excel or Google Sheets
- Daily alert on Telegram from the Helio Solar bot, as a branded image with today's curve and anything that needs a look. Connect in two steps
- Location is automatic from your ShineMonitor plant, with a one-tap fallback
- Private by default: a password-protected dashboard; your ShineMonitor login never reaches the browser
- Made for phones, with light and dark themes and nothing to install
- Free to run on Vercel: no database, no server to look after
![]() |
![]() |
![]() |
Yes, if your inverter has an Eybond WiFi datalogger (a small black stick with a QR code and PWR COM NET SRV lights) and you can see today's energy at shinemonitor.com or in the SmartClient app.
Stick offline? Follow Connect the WiFi stick. No account yet? See ShineMonitor account.
-
Click Deploy with Vercel above and sign in with GitHub.
-
Fill in six values:
Variable Value SHINE_USER/SHINE_PASSYour ShineMonitor login DASH_USER/DASH_PASSWORDA new login for your dashboard AUTH_SECRETAny long random text ( openssl rand -hex 32)TARIFFWhat you pay per unit, e.g. 7.5 -
Deploy, open your link, sign in. Today's units should match shinemonitor.com exactly.
Optional: EXPORT_TARIFF, CURRENCY, LOCALE, TIMEZONE, SITE_LAT / SITE_LON, SYSTEM_KWP, and more in Configuration. How the health, cleaning and grid checks work: Health and inverter checks.
Helio is deliberately small. Before you set it up, know that:
- It only supports Eybond / ShineMonitor. Solarman, Growatt, SolisCloud, Sungrow and others aren't supported yet.
- It uses ShineMonitor's unofficial web API, the same one their website uses. It could change without notice.
- It shows generation only. It knows nothing about home consumption, grid import or export, or batteries.
- Money values are a range, between all-exported and all-used-at-home, because consumption isn't measured.
- History starts when your stick first came online. The lifetime total is the exception.
- There's one shared login, and brute-force lockout is per server instance. Use a strong password.
- Health and cleaning checks need about 7 days of history and work best with weather data. Dust, new shade and a failing panel look alike.
- Inverter readings depend on your model. Fields your inverter doesn't report aren't shown.
- 5-minute resolution, one plant per deployment, English only.
Full list: docs/limitations.md.
Signed, httpOnly session cookies; every data route checks the session twice; secrets never ship to the browser; strict security headers; no-store on data; Next.js 15.5+. No analytics or trackers. Besides ShineMonitor, Helio contacts Open-Meteo for weather, which receives your roof's coordinates rounded to about 1 km (turn it off with WEATHER=off), and, only if you connect the daily alert, Telegram (through the Helio Solar bot's relay, which stores nothing, or your own bot). Known gaps and how to report issues: docs/security.md.
Every push and pull request is checked in the open. Click any badge at the top to see the latest run.
| Check | What it does |
|---|---|
| CI | Installs from the lockfile, runs npm audit (fails on moderate or worse), type-checks and builds |
| CodeQL | GitHub's static analysis with the security-extended queries, on every push and weekly |
| Secret scan | Gitleaks scans the full git history for keys, tokens and passwords |
| OpenSSF Scorecard | Grades the repo's security practices: pinned actions, token permissions, branch protection and more |
| Snyk | Independent check of the dependency tree against Snyk's vulnerability database |
| Dependabot | Opens a pull request when a dependency or GitHub Action has an update or a fix |
| Dependency review | Blocks pull requests that add a dependency with a known vulnerability |
All workflow actions are pinned to exact commits and run with read-only tokens unless they need more.
| Getting started | Configuration |
| Connect the WiFi stick | Accuracy and savings |
| ShineMonitor account | Troubleshooting |
| Limitations | API |
| Security | Architecture · FAQ |
| Health and inverter checks | Daily alert |
git clone https://github.com/byrishi/helio.git && cd helio
npm install
npm run dev # http://localhost:3000/demo works with no setupNext.js 15 · React 19 · TypeScript · Tailwind CSS v4 · Watermelon UI · Recharts. Contributions are welcome, especially support for other monitoring clouds; see CONTRIBUTING.md.
MIT. Designed and built by Rishi Shah.
Helio is an independent project. It is not affiliated with or endorsed by Eybond, ShineMonitor, SmartClient, or any inverter, panel or utility company; their names are used only to describe compatibility. Figures are provided as-is. For billing, rely on your utility meter.



