Repository navigation
Releases: meremortals70/abode-power-tariffs
Release list
*** v0.9.11 Release Candidate Two
Changelog
Every build that ships gets an entry here, newest first. Entries say what
changed for someone running the integration, and name the decision record
(docs/decisions/) where one applies.
Headings used: Fixed, Changed, Added, Removed.
0.9.11 RC2 - 2026-10-01
Fixed
- A utility meter created in Configure now switches tariff. Its tariffs
were named with the bare rate name, such asPeak, while the integration
switches the meter using the full rate identifier, such as
electricity.every_day.import.peak. The meter had no tariff by that name,
so it was never switched and counted everything under whichever tariff it
started on. Meters are now created with the full identifiers. A meter
created by an earlier build still has the old names: delete it and create
it again from Configure. (DR-047, DR-016) - A rule declared on an export rate now turns its sensor on. The sensor
for each rule only looked at the import rate in force, so a rule declared
only on an export rate had a sensor that was never on. The sensor now shows
which export rate and period the rule is attached to. (DR-019) - An unreadable holiday sensor is now treated as a gap. It used to log a
warning and treat the day as an ordinary weekday, with no alert. It now
raises the same repair and marks the billing cycle incomplete, as a missing
energy meter does. (DR-006) - One input coming back no longer clears a gap another input still has.
The import meter recovering used to clear a gap the export meter was still
in. The gap now closes only when every input is readable. A billing cycle
that starts while an input is down starts marked incomplete. (DR-006) - An archived plan no longer raises the "plan expired" repair. The repair
is now raised only when no other plan for the same import energy meter is in
force today. A plan that simply ran out still raises it. (DR-007) - The test that keeps the translation file in step with
strings.json
now compares them byte for byte, as the rule requires, not just their
content. (DR-034) - A comment on the billing cycle day said nothing was worked out from it;
it now says what the code does. (DR-011)
Changed
- The
Data gapsensor now exists on every plan. It used to be created
only when a rate declared an allowance or a demand charge. Data gapstays on for the rest of the billing cycle after a gap, and
while the plan has expired with no replacement. It used to turn off the
moment the input came back. Whether an input is unreadable right now is the
newinput_unreadableattribute;plan_expiredis also published.
(DR-006, DR-007)- Version is 0.9.11.
Added
- A red flag on the example dashboard cards. Both cards in
examples/
now show a warning at the top whileData gapis on. (DR-006) - Decision records in
docs/decisions/: 48 records of the decisions
behind the integration, with the options that lost, where each lives in the
code, and whether this build matches it.check_anchors.pychecks the code
references. docs/architecture.md, what a plan, timetable, rate, period and ledger
are, with diagrams.- This changelog.
- Tests: ten in the stub suite (the meter tariffs, the holiday gap, archived
against expired, export rules, the data flag) and one in the real Home
Assistant suite that creates a meter and checks it is switched.
## Abode Power Tariffs v0.9.10 — Release Candidate 1
First public release candidate. Looking for testers with real-world tariff
setups — see the forum post for details on what to try and where to report
back.
In this build
- Meter-fault guard for accumulation.
accumulate()now rejects any
single reading-to-reading jump above 10,000 kWh, treating it the same as
a meter reset rather than a real measurement. This catches a swapped-out
meter entity or a hardware fault reporting something absurd, which
previously would have been silently accepted forever afterward — only a
positive delta was checked for before. - CI now runs the real-Home-Assistant test suite on every push, not
just the stub suite. Fixed a time-of-day-dependent test
(test_real_rate_sensor_short_state) that only passed before 16:00
local — it's now pinned to a fixed moment so it's deterministic
regardless of when CI runs.
Test state
- 503 tests against the stub suite (
tests/) - 23 tests against real Home Assistant (
tests_real_ha/), now wired into CI - ruff, ruff format, and mypy clean on all seven pure modules
- 90% line and branch coverage
Known limitations
See the README's "Known limitations" section — in particular, the forward
price series assumes no future day is a public holiday, since Home
Assistant's holiday sensors only report on today.
Feedback
Please open an issue rather than commenting here, so nothing gets lost:
https://github.com/meremortals70/abode-power-tariffs/issues
v0.9.10
0.9.9 Beta
0.9.8 Beta
0.9.7 Beta
0.9.6 Beta
0.9.5 Beta
Add sensors to enable a front end card in HA to display rate plan