Skip to content

Alt Polling Mode & Reliability Improvements

Latest

Choose a tag to compare

@Poshy163 Poshy163 released this 15 Jun 06:45
8a16c75

What's changed

Australian users

AlphaESS has been migrating Australian systems to a new regional server. The
cloud summary endpoint (getSumDataForCustomer) now returns null for many of
the data points.

Those sensors now go unavailable while the data is missing and come back on
their own once it returns, instead of reporting a wrong value. Affected: Total
Load, Total Income, Total Generation, Trees Planted, CO2 Reduction, Today's
Generation, Today's Income, Self Consumption, Self Sufficiency. The daily energy
sensors (Charge, Discharge, Solar Production, and so on) are not affected.

Tracking issue: #250

Alt Polling Mode

A new optional Alt Polling Mode has been added for users who want faster
updates from their AlphaESS system.

Alt Polling Mode separates polling into two update intervals:

  • A normal polling interval that retrieves all inverter data.
  • A fast polling interval that refreshes only real-time power, energy, and EV
    charger status data.

This allows frequently changing values to update more often without repeatedly
requesting less frequently changing configuration and summary data.

For systems with multiple inverters, fast polling is automatically staggered
between inverters to reduce API load while still providing regular updates.

New options:

  • Enable or disable Alt Polling Mode.
  • Configure the fast polling interval (5–300 seconds).

New diagnostic sensors:

  • Poll Mode
  • Last Poll Type
  • Last Full Poll
  • Poll Tick Count

Reliability improvements

Several changes improve reliability and recovery when AlphaESS cloud services
are unavailable or experiencing issues.

  • Entities now become unavailable when fresh data cannot be obtained instead of
    indefinitely showing stale values.
  • Authentication failures now trigger Home Assistant's reauthentication flow,
    allowing App Secrets to be updated from the UI.
  • Setup automatically retries when the AlphaESS cloud is unavailable during Home
    Assistant startup.
  • Multi-inverter systems now handle polling failures independently.
  • Failed inverters are temporarily backed off and periodically retried instead
    of affecting the entire account.
  • Local-IP polling is now protected against concurrency issues that could cause
    requests to be sent to the wrong inverter.
  • Energy queries now use Home Assistant's configured timezone instead of the
    host operating system timezone.

Bug fixes

  • Unbinding an inverter no longer errors. It previously called a method that
    does not exist in Home Assistant core, so the flow crashed and left the
    sub-entry behind even though the inverter had been removed from your account.
    It now removes the sub-entry and reloads.
  • The integration no longer leaks an HTTP session on every setup and reload; it
    uses Home Assistant's shared client session.
  • Setup now reports "cannot connect" on DNS and timeout failures instead of an
    unknown-error traceback.
  • EV charger: allow starting a charge when the charger is in finishing mode.
  • Battery charge and discharge services now continue working correctly after
    integration reloads and with multiple configured systems.
  • Coordinator updates now always provide fresh data objects, preventing state
    comparison issues within Home Assistant.

Deprecations removed

  • The options flow uses OptionsFlowWithReload and the manual update listener
    is gone. The old combination logs a deprecation warning and stops working in
    HA 2026.12.
  • The coordinator passes its config entry explicitly, ahead of the 2026.8
    removal of the implicit context lookup.
  • Runtime data has been migrated to entry.runtime_data following modern Home
    Assistant integration patterns.

Sensor metadata corrections

  • Inverter nominal Power and PV nominal Power changed from kWh to kW, with the
    device class changed from energy to power. They are power ratings, not
    energy.
  • Inverter nominal Power, PV nominal Power, and Installed Capacity no longer
    record long-term statistics. They are fixed hardware ratings and never
    accumulate.
  • Installed Capacity and Current Capacity use the energy storage device class.
  • Self Consumption and Self Sufficiency dropped the incorrect power factor
    device class.
  • EMS Status no longer declares an enum device class without options.

Diagnostics

  • Added Home Assistant diagnostics support.
  • Sensitive information such as credentials, serial numbers, Wi-Fi details,
    register keys, and IP addresses is automatically redacted from downloaded
    diagnostic reports.

Other

  • Charge and discharge buttons no longer use the identify device class.
  • PARALLEL_UPDATES is set on every platform: sensors poll freely, while
    buttons, numbers, switches, and time entities serialize writes to respect the
    API's rate limits.
  • Devices expose the system serial via serial_number and are no longer marked
    as service entry types.
  • Manifest: added integration_type: hub and loggers, and removed the unused
    rest dependency that delayed startup.
  • Number entities use NumberMode.BOX instead of a raw string.
  • Parser and helper layers were simplified, reducing unnecessary coroutine
    creation and improving efficiency.
  • Logging and internal code structure were cleaned up for easier maintenance.
  • Test suite expanded to 295 tests with 100% coverage and CI enforcement.