v0.3.0-beta.1
Pre-release
Pre-release
Added
- Time-of-Use (ToU) tariff support (#82). On contracts whose AGL interval
data is tagged withpeak/offpeak/shouldertariff types, the integration
now writes a separate consumption + cost statistic per tariff band
(haggle:consumption_peak_<contract>,…_offpeak_…,…_shoulder_…, plus a
…_normal_…/anytime band so the parts sum back to the aggregate). Each is an
independent Energy-dashboard source withunit_class="energy".- Adds per-tariff unit-rate sensors (peak/off-peak/shoulder,
AUD/kWh,
state_class=MEASUREMENT), registered only on ToU contracts so flat-rate
users see no empty sensors. - Flat-rate contracts are unchanged — only the existing aggregate
haggle:consumption_<contract>/cost_<contract>series are written. - Energy dashboard: ToU users should add only the per-tariff consumption
series (not the aggregate as well) to avoid double-counting; flat-rate users
add only the aggregate. - Switching an existing flat-rate contract to a ToU plan: the per-tariff
statistics appear automatically on the next poll; the integration schedules
a one-off reload so the new per-tariff rate sensors register.
- Adds per-tariff unit-rate sensors (peak/off-peak/shoulder,
Changed
- Dev-tooling floor bumped:
pytest-cov>=7.1.0(was>=5.0); the
lock already had 7.1.0 so no re-resolve needed. - Security patch:
idna3.13 → 3.15 (uv.lock) — resolves CVE-2026-45409. - GitHub Actions pinned SHAs updated:
codeql-actionv4.35.4 → v4.36.0,
codecov-actionv6.0.0 → v6.0.1,home-assistant/actions/hassfest
SHA updated to868e6cb4.
Fixed
- Corrected stale code comments that named
consumption.values.quantity(inner,
DPI-scaled) as the kWh source of truth inmodels.pyandclient.py; the
metered value isconsumption.quantity(outer), as the parser already used.
Closes #73, #75, #77, #83, #85.