Skip to content

v2.4.8

Choose a tag to compare

@AndrewTapp AndrewTapp released this 07 Mar 15:36
· 118 commits to main since this release
a97603c

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:

  1. Excludes certain sensors that are not meaningful for inactive/disconnected devices
  2. 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 in SENSOR_TYPE_INACTIVE_OPTIMIZER_EXCLUDE for non-active optimizers
  • _build_aggregated_sensors(): Checks string/inverter status and skips sensors in SENSOR_TYPE_INACTIVE_AGGREGATED_EXCLUDE for 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 when optimizer_status == "ACTIVE"
  • _process_inverter_strings(): Only includes string data in inverter aggregations when string_is_active
  • _calculate_aggregated_data(): Only includes inverter data in site aggregations when inverter_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