Skip to content

v0.4.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Jul 06:14
1b56436

Pre-release for community validation (#128 round 2). The beta.1 solar
field mapping is now capture-validated: on the tester's real 2026-07-01
capture the parser reproduces the AGL app's figures exactly (sold to grid
8.019 kWh / $1.363 vs the app's 8.02 / $1.36; consumption 6.072 / $2.254 vs
6.07 / $2.25). The mismatch reported against beta.1 was a window artifact
— a cumulative-since-backfill sensor compared against the app's
billing-period tile — not a data bug. Beta.2 adds bill-period sensors that
match the app tile directly.

Added

  • Bill-period solar sensors (#128): Solar sold this period (kWh) and
    Solar feed-in credit this period (AUD) — computed from the generation
    statistics since the current bill period start, so they line up with the
    AGL app's "Sold To Grid" tile. They read unknown until the generation
    series has backfilled to the trailing rewindow (a mid-backfill partial
    could never match the app). Note: on quarterly billing the 30-day backfill
    window is shorter than the bill period, so these sensors cover the stored
    history only.
  • Solar feed-in rate sensor (#128): AGL reports the feed-in tariff under
    gstExclusiveRates (FiT is GST-free) — the parser previously only read
    gstInclusiveRates, so the rate never surfaced. New Solar feed-in rate
    sensor (AUD/kWh) registers on solar contracts when the plan carries a
    feed-in rate.

Fixed

  • Generation series now backfills independently of consumption (#128).
    Previously the fetch window was resolved from the consumption series'
    resume point alone, so an install that upgraded into solar support only
    ever received the trailing 7-day rewindow of export history — the older
    ~23 days of the 30-day backfill never arrived. Each series now resolves its
    own chunked fetch range from its own resume point; disjoint ranges skip the
    other series' days (no extra load on AGL's BFF).
  • Zero-export days no longer stall the solar backfill. A successfully
    fetched day whose feed-in intervals are all zero (cloudy day, or a solar
    system newer than the 30-day backfill floor) now writes a single
    zero-delta marker row so the generation resume point advances; previously
    a full chunk of such days was refetched forever and the period sensors
    never unlocked. Found by Codex review on the beta.2 PR.
  • tests/fixtures/solar_hourly_response.json replaced with the tester's real
    full-day capture (48 slots, 11 non-zero export slots, mixed
    normal/peak feedIn types); reconciliation totals are locked in as
    regression tests.


What to test (solar users)

This pre-release is gated on community validation in #128.

After upgrading, expect the two new period sensors to read unknown for up to ~4 daily poll cycles — they stay silent until the generation history fully covers the billing period, by design.

  1. Solar sold this period / Solar feed-in credit this period vs the AGL app's billing-period "Sold To Grid" kWh and $ — same window, should agree within rounding. (Quarterly billing: periods older than the 30-day backfill window are covered only partially.)
  2. Per-day: pick a sunny day ≥3 days back; the Energy dashboard "Return to grid" bar should match the app's daily solar view.
  3. Solar feed-in rate sensor should equal your plan's feed-in tariff (c/kWh ÷ 100).
  4. History should keep extending daily, including across cloudy zero-export days, and should eventually reach days before the current billing period started.

Do not compare the cumulative Solar generation sensor against the app's billing-period tile — different windows by design.

Found a discrepancy? Report on #128 with a same-day triple: the day, the app's figures, and the sensor/dashboard figures.