Skip to content

Updaed Manifest.json

Pre-release
Pre-release

Choose a tag to compare

@smcneece smcneece released this 15 Nov 03:17

Release Date: November 14, 2025
Type: CRITICAL Bug Fix (Deploy Script)

⚠️ CRITICAL: Deploy Script Bug Affected ALL v2025.11.5-11.8 Releases!

All previous releases had a broken manifest.json due to a deploy script bug.


What's Fixed

The bug: Deploy script was silently stripping the pypvs version requirement from manifest.json.

What should have been in manifest.json:

"requirements": [
  "pypvs>=0.2.7",
  "simplejson"
]

What actually got deployed:

"requirements": [
  "pypvs",
  "simplejson"
]

Impact:

  • Home Assistant didn't upgrade to pypvs 0.2.7 automatically
  • Users stuck on older pypvs versions (0.2.4, 0.2.6, etc.)
  • MPPT code crashed with AttributeError (the "fix" in v2025.11.6/7 helped but didn't solve root cause)
  • Battery users may have had ESS polling issues

Root cause:
Deploy script loaded OLD staging manifest for version calculation, then used that stale manifest data when writing the updated version (instead of reloading the freshly copied manifest from VM).

The fix:

# Copy VM manifest to staging
shutil.copy2(live_manifest_path, staging_manifest_path)

# Reload manifest from copied file to get current data ← ADDED THIS
with open(staging_manifest_path, 'r') as f:
    manifest = json.load(f)

# Now update version with current manifest data
manifest['version'] = new_version

For All Users

Everyone should update to v2025.11.9 to ensure you get the correct pypvs requirement.

After updating:

  1. Restart Home Assistant
  2. HA should automatically install/upgrade to pypvs 0.2.7
  3. MPPT sensors will show correct DC values (30-60V instead of ~240V AC)
  4. Battery users should see select entities appear

Summary: What v2025.11.9 Includes

This release contains ALL fixes from v2025.11.5-11.8, now with correct manifest.json:

  1. Battery ESS polling fix - No more AttributeError for new firmware users
  2. MPPT backwards compatibility - Graceful fallback for older pypvs versions
  3. Battery detection fix - Correctly checks coordinator data structure
  4. pvs_object storage fix - Stored in hass.data for select.py access
  5. Deploy script fix - Preserves all manifest.json fields correctly (THIS RELEASE)

Compatibility

  • All firmware versions supported (old and new)
  • All system types (inverters, meters, batteries)
  • All network configurations (direct, VLAN, proxy)
  • No configuration changes required

Breaking Changes

None, fully backward compatible


Deep Apology

This has been an embarrassing series of releases. The deploy script bug meant every fix we made was partially undermined by users not getting the correct pypvs version. We sincerely apologize for the frustration this has caused.

Thank you to everyone who helped test and reported issues, especially @deltaxiii for incredible patience through multiple test iterations.


Report issues: https://github.com/smcneece/ha-esunpower/issues
Join discussions: https://github.com/smcneece/ha-esunpower/discussions