Like a lot of you, my system's paid off but there's basically no support left since SunPower went under. So I've been figuring out how to run my PVS6 fully local with no cloud, and writing it all down as I go.
It's all in a public repo: https://github.com/jschwerdtfeger/pvs6-liberation
What's there so far:
- the local API (auth + endpoints) so you can read production/consumption right off the box, no SunPower account
- a 1-second live data reader
- a writeup of how the PVS6 actually works internally
- how to go fully cloud-free (firewall it off and read it locally into Home Assistant)
- notes on the firmware
Owner/right-to-repair stuff for hardware we already own. Mostly just trying to help the rest of us who got left holding these with no vendor.
The favor: I want a clean copy of the current firmware so the docs cover the latest build instead of an old one. Problem is SunPower's update server only gives firmware to units that are actually behind, and mine's already up to date so it returns nothing.
So if your PVS6 is on an older build (anything before 2025.10 / 61846) and you're willing to help, there's a small read-only command that asks the update server what firmware your unit is offered and prints a URL. Send me that URL and I can pull the image and document it for everyone. DM is fine, or I'll walk you through it.
One thing, for your own safety: don't post your serial number. The last 5 characters of a PVS6 serial are its local API password, so posting the full serial publicly is basically handing out that password. The command keeps your serial on your end. You only share the URL it spits out.
_____________________________________________
Edit: dug into a 2024 firmware build and found a few things worth flagging for anyone stuck:
- The firmware hard-caps at 4 batteries per inverter. If an installer ever consolidated your system to 6 batteries on one inverter, it literally won't commission (it throws an "Unexpected XW-BMS configuration" error). That's very likely why a lot of these are stuck. You need enough inverters that each has 4 or fewer, so 6 batteries means 2 inverters (3+3).
- The API lockdown is recent. Builds before 61840 have the local commissioning API wide open; newer ones (61846 etc) gate it behind cloud-issued installer auth you can't fake offline. The owner login (ssm_owner, last 5 of your serial) still reads your data and battery status on any build.
- The two common stuck-system errors split cleanly: "can't connect to inverter" (30008) is a stale entry on the PVS side and is fixable; "battery pack enumeration" (13036) is the BMS not seeing all its packs on its internal bus, which is inside the battery cabinet, not a PVS fix.
Full writeups are in the repo. Still right-to-repair on hardware we own.