Skip to content

v2.4.13

Choose a tag to compare

@AndrewTapp AndrewTapp released this 13 Mar 11:42
· 61 commits to main since this release
6574d43

v2.4.13 Summary of changes — 13 March 2025

This document summarizes the documentation and related updates made on 13 March 2025.


Documentation updates

The following files were reviewed and updated so they accurately reflect the current integration behaviour, constants, and file layout.

README.md

  • Layout cache: Corrected the legacy API layout (panels) cache from "1 hour" to 2 hours. Both SolarEdge One and legacy now document a 2 hour cache (PANELS_CACHE_TTL_ONE, PANELS_CACHE_TTL_LEGACY in const.py).
  • Lifetime energy (per-optimizer): Clarified that string totals are derived by summing that string’s optimizer entries (not from API string-level keys that can be site totals), and that site lifetime is the sum of inverters when reliable, or the portal total when aggregated data is unreliable (e.g. below RELIABLE_THRESHOLD_KWH).
  • Code quality: Added a short note that the project uses Pylint and pycodestyle (e.g. via CodeFactor), with links to pyproject.toml and CODEQUALITY.md for tool config and intentional patterns/suppressions.

info.md

  • Updates / lifetime energy: Replaced the previous “optimizer-level reliable / portal total directly” wording with the same behaviour as the README: string totals from optimizer sums; site lifetime from inverters when reliable or from the portal when unreliable (e.g. below RELIABLE_THRESHOLD_KWH).
  • Debug logging: Documented that debug logging also covers unload (including “unload finally closing API sessions”) and API client closure (dual API: close both clients; config flow: API close on entry removal).

docs/Wiki-Home.md

  • Layout cache: The update-behaviour table and the “Caching” subsection now state the layout (panels) cache is 2 hours for both One and legacy (previously legacy was described as 1 h).
  • Configuration: The single-step config form description now includes Use SolarEdge One in the field order: Site ID → Username → Password → Entity ID prefix → Include Site ID in Entity ID → Use SolarEdge One.
  • File structure (Section 14):
    • Single consolidated api.py entry (SolarEdgeAPIProtocol).
    • Added exceptions.py, CODEQUALITY.md, and pyproject.toml to the repo layout.
    • Corrected doc filename to internationalization.md (was Internationalization.md).
    • Manual-install file list now includes exceptions.py.
  • Lifetime energy (Section 12 – Data and units): Documented that string-level lifetime is always derived by summing that string’s optimizer entries in the coordinator (_build_lifetime_energy_lookup), that the legacy API can return a string key that matches a stringId but holds a site- or inverter-level total, and that the integration does not use that key when optimizer data is available, to avoid double-counting and inflated site totals.

docs/SolarEdge-One-API-Summary.md

  • Polling / stale threshold: “legacy used 2 hours” was updated to “legacy uses 2 hours”.
  • Layout cache: Added that site layout (panels) is cached for 2 hours (PANELS_CACHE_TTL_ONE) when using SolarEdge One.

docs/internationalization.md

  • No content changes. Confirmed it already matches the README (four-section translation structure, Use SolarEdge One, supported languages, link to README translations table).

Summary table

File Changes
README.md Layout cache 2 h (both APIs); lifetime energy aggregation wording; code quality note.
info.md Lifetime energy aggregation wording; debug logging (unload, API close).
Wiki-Home.md Layout cache 2 h; config field order (Use SolarEdge One); file structure (api, exceptions, CODEQUALITY, pyproject, internationalization); manual-install list; lifetime aggregation (string sum, no double-count).
SolarEdge-One-API-Summary.md Legacy “uses” 2 h; layout cache 2 h for One.
internationalization.md Verified up to date; no edits.

Constants reflected in the docs

  • Layout cache: PANELS_CACHE_TTL_ONE and PANELS_CACHE_TTL_LEGACY are both 2 hours (const.py).
  • Lifetime energy: String totals = sum of that string’s optimizers (coordinator); site total = sum of inverters when reliable, or portal total when below RELIABLE_THRESHOLD_KWH (100 kWh).
  • Code quality: pyproject.toml and CODEQUALITY.md are the reference for Pylint/pycodestyle and intentional patterns.