Skip to content

Releases: SpanPanel/span-panel-api

v2.5.3

09 Apr 01:48
7648da1

Choose a tag to compare

What's Changed

  • chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in #131

Fixed

  • Preserve property values on lifecycle reset — the 2.5.2 property clear caused _parse_float('') to return 0.0 for energy counters during panel reboots or network interruptions, triggering false dip-compensation offsets in the integration that
    permanently inflated energy sensor values. Removed the property/timestamp/target clearing from _handle_description(). Pre-reboot values now serve as safe placeholders until the panel re-publishes fresh data.
  • Snapshot cache invalidated on reboot — the generation counter still increments on lifecycle resets, forcing consumers to discard cached snapshots and rebuild from current accumulator state.

Full Changelog: v2.5.2...v2.5.3

v2.5.2

07 Apr 01:39
ea22c9f

Choose a tag to compare

What's Changed

  • fix: clear stale property values on panel reboot to prevent mixed-gen snapshots by @cayossarian in #130

Full Changelog: v2.5.1...v2.5.2

v2.5.1

01 Apr 18:09

Choose a tag to compare

What's Changed

  • fix: replace assert in production code, fix broken bandit hook, bump … by @cayossarian in #129

Full Changelog: v2.5.0...v2.5.1

v2.5.0

01 Apr 00:39
bb72f42

Choose a tag to compare

Added

  • HomiePropertyAccumulator — new layer that handles generic Homie v5 protocol parsing (message routing, property/target storage, dirty-node tracking) with an explicit lifecycle state machine (HomieLifecycle), cleanly separated from SPAN-specific
    snapshot construction.
  • $target property supportSpanCircuitSnapshot gains relay_state_target and priority_target fields, surfacing the desired-vs-actual state for relay and shed-priority commands.
  • Dirty-node snapshot cachingHomieDeviceConsumer.build_snapshot() tracks which nodes changed since the last build and returns a cached snapshot when nothing is dirty, reducing per-scan CPU cost on constrained hardware.

Changed

  • Layered Homie consumer architectureHomieDeviceConsumer no longer handles protocol plumbing. It reads from HomiePropertyAccumulator via a query API (get_prop, get_target, nodes_by_type, etc.) and focuses solely on SPAN domain
    interpretation: power sign normalization, DSM derivation, unmapped tab synthesis, and snapshot assembly.
  • SpanMqttClient composes both layersconnect() creates an accumulator and wires it into the consumer. The public client API is unchanged.
  • Property callbacks fire only on value change — retained messages replaying already-known values no longer trigger callback storms on MQTT reconnect.

v2.4.2

31 Mar 08:29
fc60d01

Choose a tag to compare

What's Changed

  • chore(deps): bump astral-sh/setup-uv from 5 to 7 by @dependabot[bot] in #121
  • chore(deps): bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 by @dependabot[bot] in #126
  • chore(deps): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in #125
  • chore(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in #124
  • chore(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in #123
  • Fix blocking load_verify_locations call in event loop by @cayossarian in #127

Full Changelog: v2.4.1...v2.4.2

v2.4.1

25 Mar 09:03

Choose a tag to compare

Full Changelog: v2.4.0...v2.4.1

set the license in the manifest

v2.4.0

25 Mar 08:18

Choose a tag to compare

What's Changed

Full Changelog: v2.3.2...v2.4.0

v2.3.2

19 Mar 02:38
903ab60

Choose a tag to compare

What's Changed

Full Changelog: v2.3.1...v2.3.2

v2.3.1

18 Mar 05:19
d449242

Choose a tag to compare

What's Changed

Full Changelog: v2.3.0...v2.3.1

v2.3.0

15 Mar 02:03
30ed264

Choose a tag to compare

What's Changed

  • 2 3 0 extract simulation, add diagnostics for schema drift by @cayossarian in #117

Full Changelog: v2.2.4...v2.3.0