Skip to content

Commit 94733bd

Browse files
authored
Update SolarEdge-One-API-Summary.md
1 parent d61f0a1 commit 94733bd

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

custom_components/solaredgeoptimizers/docs/SolarEdge-One-API-Summary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ A site-level sensor **Obtained from** shows whether current data came from **"On
4545
- **Temperature sensor updates (SolarEdge One):** When the coordinator does not perform a full refresh (e.g. it reuses existing data after a lightweight check), it still refreshes optimizer temperatures about every 15 minutes via `get_optimizer_temperatures_cached()` (layout/energy by-inverter with `include-max-temperature`). So temperature sensors stay up to date even when power, voltage, and current are not being refreshed. The coordinator calls `_refresh_temperature_when_no_full_refresh()` for this; the cache TTL is 15 minutes so the API is only hit when the cache has expired. The portal may report temperature in °C or °F (`temperatureUnit`); the integration converts Fahrenheit to Celsius for storage so values are correct for all regions (e.g. US users). Debug logging logs per-optimizer F→°C conversion and a summary count when Fahrenheit is detected.
4646
- **Lifetime energy (SolarEdge One):** Per-optimizer lifetime energy comes from the energy-graph API (one GET per optimizer, 1-hour cache). When the cache is cold, `get_lifetime_energy_cached()` now fetches these requests **in parallel** (thread pool) instead of sequentially, so sites with many optimizers complete the initial refresh much faster and avoid coordinator timeouts.
4747
- **Optimizer requests:** POSTs to `/layout/information/optimizers` use a 60 s timeout and **one automatic retry** on read/connect timeout to reduce failures when the portal is slow. The response can include a **description** (panel type, e.g. SunPower SPR-MAX3-400) in `basicInformationList` or `serialToLiveData`; when present, the integration uses it for the optimizer device model and the **panel_type** sensor attribute.
48-
- **Inverter information:** If the inverter information API returns **403 Forbidden** (e.g. some accounts lack that permission), the integration still works: inverter and optimizer devices use position-based identity, so model names may be missing but all sensors and devices function. A one-time warning is logged.
48+
- **Inverter information:** If the inverter information API returns **403 Forbidden** (e.g. some accounts lack that permission), the integration still works: inverter and optimizer devices use position- or display-name-based identity (at string/optimizer level, names and entity IDs follow the API display name when it parses, e.g. "1.0", "1.0.1"), so model names may be missing but all sensors and devices function. A one-time warning is logged.

0 commit comments

Comments
 (0)