v2.4.8
v2.4.8 Inactive Devices Feature
As with previous versions you may need to delete and re-add this integtration after updating through HACS.
This document summarizes the inactive device handling feature added to the SolarEdge Optimizers integration.
Overview
When an optimizer, string, or inverter is marked as Inactive in the SolarEdge portal, the integration now:
- Excludes certain sensors that are not meaningful for inactive/disconnected devices
- Excludes inactive devices from aggregations so totals and averages only reflect active equipment
Sensors Excluded for Inactive Devices
Inactive Optimizers
The following sensors are not created for inactive optimizers:
| Sensor | Reason for exclusion |
|---|---|
| Azimuth | No meaningful orientation data for inactive panel |
| Current | No live current reading |
| Optimizer voltage | No live voltage reading |
| Power | No live power reading |
| Temperature | No live temperature reading |
| Tilt | No meaningful orientation data for inactive panel |
| Voltage | No live voltage reading |
The following sensors are still created for inactive optimizers:
| Sensor | Reason for inclusion |
|---|---|
| Lifetime energy | Historical data remains valuable |
| Last measurement | Shows when the optimizer was last active |
| Status | Shows the current status ("Inactive") |
Inactive Strings and Inverters
The following sensors are not created for inactive strings/inverters:
| Sensor | Reason for exclusion |
|---|---|
| Current (average) | No meaningful average from inactive device |
| Power | No live power reading |
| Voltage (average) | No meaningful average from inactive device |
The following sensors are still created for inactive strings/inverters:
| Sensor | Reason for inclusion |
|---|---|
| Lifetime energy | Historical data remains valuable |
| Last measurement | Shows when the device was last active |
| Child count | Shows how many child devices exist |
| Status | Shows the current status ("Inactive") |
Aggregation Behavior
Before This Change
All devices were included in aggregations regardless of status, which could result in:
- Stale or zero values from inactive devices skewing averages
- Misleading totals that included non-producing equipment
After This Change
Only active devices contribute to aggregations:
| Aggregation Level | What is included |
|---|---|
| String aggregations | Only optimizers with status "Active" |
| Inverter aggregations | Only strings with status "Active" |
| Site aggregations | Only inverters with status "Active" |
This ensures that:
- Current (average) reflects only actively reporting devices
- Power totals only include producing equipment
- Voltage (average) reflects only live readings
Implementation Details
Constants Added (const.py)
SENSOR_TYPE_INACTIVE_OPTIMIZER_EXCLUDE = [
SENSOR_TYPE_AZIMUTH,
SENSOR_TYPE_CURRENT,
SENSOR_TYPE_OPT_VOLTAGE,
SENSOR_TYPE_POWER,
SENSOR_TYPE_TEMPERATURE,
SENSOR_TYPE_TILT,
SENSOR_TYPE_VOLTAGE,
]
SENSOR_TYPE_INACTIVE_AGGREGATED_EXCLUDE = [
SENSOR_TYPE_CURRENT,
SENSOR_TYPE_POWER,
SENSOR_TYPE_VOLTAGE,
]Sensor Platform Changes (sensor.py)
_build_individual_optimizer_sensors(): Checks optimizer status and skips sensors inSENSOR_TYPE_INACTIVE_OPTIMIZER_EXCLUDEfor non-active optimizers_build_aggregated_sensors(): Checks string/inverter status and skips sensors inSENSOR_TYPE_INACTIVE_AGGREGATED_EXCLUDEfor non-active devices- Added logging to track active/inactive device counts and skipped sensors
Coordinator Changes (coordinator.py)
_aggregate_optimizers_in_string(): Only includes optimizer data in string aggregations whenoptimizer_status == "ACTIVE"_process_inverter_strings(): Only includes string data in inverter aggregations whenstring_is_active_calculate_aggregated_data(): Only includes inverter data in site aggregations wheninverter_is_active
Documentation Updated
The following documentation files were updated to reflect this feature:
| File | Changes |
|---|---|
README.md |
Added new "Inactive Devices" section |
info.md |
Added "Inactive devices" paragraph |
docs/Wiki-Home.md |
Added new section 9 with detailed tables; renumbered subsequent sections; updated table of contents; added new constants to reference |
docs/internationalization.md |
No changes needed (feature doesn't add new translation keys) |
User Impact
What Users Will See
- Fewer sensors for inactive devices (cleaner device pages)
- More accurate aggregated values at string, inverter, and site levels
- No change to active device behavior
Migration Notes
- No action required from users
- Existing inactive devices will have fewer sensors after updating
- Entity history for excluded sensors will no longer update (but historical data is preserved in Home Assistant's database)
Related Features
This feature complements existing functionality:
- Stale data handling: Live values (power, current, voltage) are zeroed when last measurement exceeds threshold (1h for One API, 2h for Legacy API)
- Duplicate name handling: Active devices sort first when resolving duplicate names
- Status sensor: Each device has a Status sensor showing "Active" or "Inactive"
Full Changelog: 2.4.7...2.4.8