Skip to content

Releases: SpanPanel/span

v2.0.4

23 Mar 06:18
de706f3

Choose a tag to compare

Important 2.0.1 cautions still apply — read those carefully if not already on 2.0.1 BEFORE proceeding:

  • Requires firmware spanos2/r202603/05 or later (v2 eBus MQTT)
  • You must already be on v1.3.x or later of the SpanPanel/span integration if upgrading

Added

  • Grid Power sensor — New Grid Power. Previously only Current Power (upstream lugs measurement) was available; the new sensor surfaces the panel's own
    grid power accounting alongside Battery Power, PV Power, and Site Power. Without BESS Grid Power is the same as Current Power. Note that if your panel has
    an integrated BESS and the BESS loses communication with the panel the Grid Power sensor is not accurate. In such a case HA would need a current clamp
    upstream of the BESS to accurately reflect whether the Grid is up.
  • FQDN registration support — Config flow detects FQDN-based connections and registers the domain with the panel for TLS certificate SAN inclusion. Blocked
    by an upstream API permission issue (SPAN-API-Client-Docs#10); the integration falls back to
    IP-based connections until resolved.

Changed

  • Simulation moved to dedicated add-on — Panel cloning and simulation are no longer part of the integration's options flow. A new export_circuit_manifest
    service provides panel parameters to the standalone SPAN Panel Simulator add-on, which now supports upgrade
    modelling (evaluate firmware or integration upgrades in a sandbox before applying them to your real panel) and panel clone (replicate your panel's circuit
    layout for testing).

Fixed

  • MQTT broker connection — The eBus broker connection now uses the panel host from zeroconf discovery or user configuration instead of the panel-advertised
    .local address, which may not resolve in all HA environments (#193).

  • PV nameplate capacity unit — Corrected the PV nameplate capacity sensor unit to watts.

  • Recorder database growth — Energy sensors still expose grace-period and dip-compensation diagnostics, plus circuit tabs and voltage, on the entity, but
    those attributes are no longer written to the recorder, which greatly reduces churn in the state_attributes table (#197).

v2.0.3

16 Mar 21:47

Choose a tag to compare

This is a fix for HA core 2026.3.2

Important 2.0.x cautions still apply — read those carefully if not already on 2.0.1 BEFORE proceeding:

Requires firmware spanos2/r202603/05 or later (v2 eBus MQTT)
You must already be on v1.3.x or later of the SpanPanel/span integration if upgrading

Full Changelog: v2.0.2...v2.0.3

v2.0.2

15 Mar 21:16

Choose a tag to compare

Important 2.0.x cautions still apply — read those carefully if not already on 2.0.1 BEFORE proceeding:

  • Requires firmware spanos2/r202603/05 or later (v2 eBus MQTT)
  • You must already be on v1.3.x or later of the SpanPanel/span integration if upgrading

Fixed

  • Panel size always availablepanel_size is now sourced from the Homie schema by the underlying span-panel-api Previously some users could see fewer unmapped sensors when trailing breaker positions were empty. Topology service reflects panel size.
  • Battery power sign inverted — Battery power sensor now uses the correct sign convention. Previously, charging was reported as positive and discharging as negative. The panel reports power from its own perspective; the
    sensor now negates the value to match HA conventions (positive = discharging), consistent with how PV power is already handled. (#184)
  • Idle circuits showing -0W — Power sensors that negate values (PV circuits, battery, PV power) could produce IEEE 754 negative zero (-0.0) when the
    circuit was idle, causing HA to display -0W instead of 0W. All negation sites now normalize zero to positive. (#185)
  • Net energy inconsistent with dip-compensated consumed/produced — When energy dip compensation was enabled, consumed and produced sensors applied an
    offset but net energy computed from raw snapshot values, causing a visible mismatch when there was a dip compensation.
  • Fixed dependency resolution — Capped span-panel-api at <2.3.0 to prevent pip from installing an incompatible version that removed the simulation module. (#189)

v2.0.1

09 Mar 14:52
a487b8d

Choose a tag to compare

Breaking Changes

  • Requires firmware spanos2/r202603/05 or later (v2 eBus MQTT)

  • You must already be on v1.3.1 of the SpanPanel/span integration if upgrading

  • After upgrading, you must re-authenticate using your panel passphrase (found in the SPAN mobile app under On-premise settings) or proof of proximity
    (open and close the panel door 3 times). See the README for details.

  • If you were running a beta or RC, ensure you reload the integration after upgrade

  • Cellular binary sensor removed — replaced by Vendor Cloud sensor

  • DSM Grid State deprecated — still available, but users should rely on DSM State as DSM Grid State may be removed in a future version since it is an
    alias for DSM State

  • Sensor state values are now lowercase — The following sensors now report lowercase state values with translated display names. Automations or scripts that
    compare against the old uppercase values must be updated:

    • DSM State: DSM_ON_GRIDdsm_on_grid, DSM_OFF_GRIDdsm_off_grid
    • DSM Grid State: same as DSM State (deprecated alias)
    • Current Run Config: PANEL_ON_GRIDpanel_on_grid, PANEL_OFF_GRIDpanel_off_grid
    • Main Relay State: CLOSEDclosed, OPENopen

    The UI displays localized names (e.g., dsm_on_grid displays as "On Grid"). Automations use the lowercase values shown above. This change was made to support
    translations in enumerations.

New Features

  • EVSE (SPAN Drive) Support: Each commissioned EV charger appears as a sub-device (e.g., "Main House SPAN Drive (Garage)")
  • BESS sub-device: Battery entities live on a dedicated BESS sub-device
  • Energy Dip Compensation: Automatically compensates when the panel reports lower energy readings for TOTAL_INCREASING sensors, maintaining a cumulative
    offset to prevent negative spikes in the energy dashboard. Enabled by default for new installs; existing installs can enable via General Options. Includes
    diagnostic attributes (energy_offset, last_dip_delta) and persistent notifications.
  • Real-time MQTT push via eBus broker — no more polling intervals
  • Grid Forming Entity (GFE) sensor — shows the panel's current grid-forming power source (GRID, BATTERY, PV, GENERATOR, NONE, UNKNOWN). Identifies which
    source provides the frequency and voltage reference.
  • GFE Override button — publishes a temporary GRID override when the battery system (BESS) loses communication and the GFE value becomes stale. The BESS
    automatically reclaims control when communication is restored. See Grid Forming Entity for details
  • Site Power sensor (grid + PV + battery from power-flows node)
  • Panel diagnostic sensors: L1/L2 Voltage, Upstream/Downstream L1/L2 Current, Main Breaker Rating — promoted from attributes to dedicated diagnostic
    entities
  • Circuit Current and Breaker Rating sensors: promoted from circuit power sensor attributes to dedicated per-circuit entities (conditionally created when
    the panel reports the data)
  • PV metadata sensors: PV Vendor, PV Product, Nameplate Capacity — on the main panel device (conditionally created when PV is commissioned)
  • Grid Islandable binary sensor: indicates whether the panel can island from the grid (conditionally created)
  • PV Power sensor with inverter metadata attributes (vendor, product, nameplate capacity)
  • Reconfigure flow — update the panel host/IP address without removing and re-adding the integration.
  • Circuit Shed Priority select now works — controls off-grid shedding (NEVER / SOC_THRESHOLD / OFF_GRID)
  • Panel size and Wi-Fi SSID as software version attributes

Removed

  • Post-install entity naming pattern switching — the naming pattern is now set once during initial setup. The EntityIdMigrationManager and all associated
    migration machinery have been removed
  • cleanup_energy_spikes and undo_stats_adjustments services — energy dip compensation handles counter dips automatically. For existing historical spikes,
    use Developer Tools > Statistics to adjust individual entries

Developer / Card Support

  • WebSocket Topology API: New span_panel/panel_topology WebSocket command that returns the full physical layout of a panel in a single call — circuits
    with breaker slot positions, entity IDs grouped by role, and sub-devices (BESS, EVSE) with their entities. See
    WebSocket API Reference for schema and examples

Improvements

  • DSM State — multi-signal heuristic deriving grid connectivity from battery grid-state, dominant power source, upstream lugs power, and power-flows grid
  • Current Run Config — full tri-state derivation (PANEL_ON_GRID / PANEL_OFF_GRID / PANEL_BACKUP)
  • Configurable snapshot update interval (0–15s, default 1s) reduces CPU on low-power hardware

v1.3.1

21 Jan 22:25
d47b40e

Choose a tag to compare

🐛 Bug Fixes

  • Fix reload loop when circuit name is None (#162, @NickBorgers): Fixed infinite reload loop that caused entity flickering when the SPAN panel
    API returns None for circuit names.
    Thanks to @NickBorgers for correctly analyzing a solution. @cayossarian.

  • Fix spike cleanup service not finding legacy sensor names (#160, @mepoland ): The cleanup_energy_spikes service now correctly finds sensors regardless of naming pattern (friendly names, circuit numbers, or legacy names without span_panel_ prefix).
    Also adds optional main_meter_entity_id parameter allowing users to manually specify the
    spike detection sensor when auto-detection of main meter fails or that sensor has been renamed.
    @cayossarian.

🔧 Improvements

  • When a user has customized an entity's friendly name in Home Assistant, the integration skips reload request for that entity. @cayossarian

v1.30

06 Jan 01:17
16fe8b0

Choose a tag to compare

🔄 Changed

Bump span-panel-api to v1.1.14: Recognize panel Keep-Alive at 5 sec, Handle httpx.RemoteProtocolError defensively, Thanks to
@NickBorgersOnLowSecurityNode - Addresses Issue #156

v1.29

25 Dec 23:44
6c67798

Choose a tag to compare

Removed Decreasing Energy Protection: Reverted the TOTAL_INCREASING validation that was ignoring decreasing energy values that were thought to occur a limited number of updates but turned out to be permanent under-reporting of SPAN cloud data that manifested during firmware updates. The bug is on the SPAN side and can result in spikes in energy dashbaoards after firmware updates. See the Trouble-Shooting section of the README.md for more information.

Energy Spike Cleanup Service: New span_panel.cleanup_energy_spikes service to detect and remove negative energy spikes from Home Assistant statistics caused by panel firmware updates. Includes dry-run mode for safe preview before deletion.
Firmware Reset Detection (Beta): Monitoring of main meter energy sensor to detect errant (negative energy reports over time). Sends a persistent notification when detected, guiding users to adjust statistics if desired.

v1.2.8

11 Dec 07:09
079c296

Choose a tag to compare

  • Fix total increasing sensors against receiving data that is less than previously reported as can occur when the panel upgrades
  • Fix feedthrough sensor types now set to TOTAL instead of TOTAL_INCREASING

1.2.7

29 Nov 20:34
d4b9b76

Choose a tag to compare

What's Changed

Full Changelog: v1.2.6...1.2.7