Skip to content

Releases: samwiseg0/ha-stagg-ekg-plus

v0.7.7

Choose a tag to compare

@github-actions github-actions released this 24 Aug 15:21

What's new in 0.7.7

Now available directly in HACS.

Changed

  • Installation through HACS no longer needs a custom repository. The integration is in the HACS default list.

Internal

  • Dropped bleak-retry-connector from manifest.json requirements. Home Assistant core ships and pins that package, so declaring it here added nothing and could only conflict if the pins diverged.

Notes

  • No changes to options, entities, or the protocol. Existing installs upgrade transparently.

v0.7.6

Choose a tag to compare

@github-actions github-actions released this 30 Jun 23:19

What's new in 0.7.6

Entity-accuracy fixes and Bluetooth/diagnostics hardening, plus CI and test-quality improvements.

Fixed

  • The climate entity now reports Idle when the kettle has reached its target and is keeping warm, or when it is lifted off the base, instead of always showing Heating while powered on. It shows Heating only while the water is actively warming up.
  • The On base binary sensor stays Unknown until the kettle reports its base state, instead of briefly claiming On base before any reading has arrived.

Changed

  • Before the first reading on a fresh connection, the climate slider now follows your Home Assistant temperature unit (°F/°C) instead of always defaulting to Celsius; once the kettle reports its own unit, that takes over as before.
  • Diagnostics downloads now redact the kettle's Bluetooth address.
  • BLE commands re-check the active connection on each write retry, so a reconnect that happens mid-retry can no longer send to a stale link.

Internal

  • Added a Ruff lint check to CI and pinned the test toolchain for reproducible builds.
  • Corrected the downloadable release .zip layout so a manual install extracts into custom_components/stagg_ekg_plus/ as expected.
  • Added pip dependency updates to Dependabot and expanded entity, config-flow, and coordinator test coverage (148 tests, 100%).

Notes

  • No changes to options, entities, or the protocol. The one behavior change to be aware of is the more accurate climate action above: an automation that triggers on the climate entity's hvac_action being heating will now read idle while the kettle keeps warm at temperature. The Holding temp binary sensor remains the most reliable "at temperature" signal. Existing installs upgrade transparently.

v0.7.5

Choose a tag to compare

@github-actions github-actions released this 25 Jun 13:04

What's new in 0.7.5

Fixed

  • The power switch no longer momentarily appears as a definitive (non-assumed) state during a background poll. A background poll only briefly connects to check for a physical power-on, so the switch now stays "assumed" through it and is treated as definitive only during a genuine live session (kettle on, or persistent mode).

Internal

  • CI maintenance: updated GitHub Actions (checkout, setup-python, codecov) and pinned the HACS validation action to its maintained branch. No effect on the integration itself.

Notes

  • No changes to options, entities, or the protocol. Existing installs upgrade transparently.

v0.7.4

Choose a tag to compare

@github-actions github-actions released this 23 Jun 12:37

What's new in 0.7.4

Small correctness and code-quality improvements. No configuration changes.

Changed

  • The power switch now reports assumed_state while disconnected (in on-demand mode the shown state is the last known value and may be stale if the kettle was toggled physically); a live connection reflects the real state.
  • Overridden entity and config-flow methods are now decorated with typing.override, matching current Home Assistant conventions and verified by strict type checking.
  • Corrected an internal comment about the default temperature unit before the first state frame.

Notes

  • No changes to options, entities, or the protocol. Existing installs upgrade transparently.

v0.7.3

Choose a tag to compare

@github-actions github-actions released this 22 Jun 23:00

What's new in 0.7.3

Bluetooth reliability improvements, drawn from patterns in Home Assistant's pysnooz library. No configuration or entity changes.

Changed

  • The reconnect path now re-resolves the freshest BLEDevice on each internal retry (via ble_device_callback), instead of reusing a device captured once. This improves recovery on a busy or slow Bluetooth adapter.
  • Commands are now serialized with a write lock so the switch and climate entities (separate platforms) can never overlap writes on the kettle's single characteristic.
  • Transient BlueZ write errors (org.bluez.Error.Failed / InProgress) are retried with a short backoff before giving up; other errors surface immediately.

Notes

  • No changes to options, entities, or the protocol. Existing installs upgrade transparently.

v0.7.2

Choose a tag to compare

@github-actions github-actions released this 22 Jun 21:11

What's new in 0.7.2

A documentation and test-quality release. No user-facing behavior changes.

Changed

  • Reworked the README: a table of contents, shields.io badges (release, build, coverage, license, HACS), a consolidated feature/entity reference, and a condensed Connection mode section with less repetition.

Added

  • Codecov coverage reporting in CI.
  • Full coordinator test coverage (100%); the suite now has 112 tests at 99% overall.

Notes

  • No changes to the BLE protocol, entities, or options. Existing installs upgrade transparently.

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 22 Jun 18:42

What's new in 0.7.1

This is a quality and reliability release focused on test coverage, typed code, and clearer error reporting. No user-facing behavior changes.

Added

  • Full unit test suite (101 tests, 97% coverage) covering the protocol codec, config/options flows, setup/unload, diagnostics, the coordinator's connection lifecycle (on-demand, persistent, keep-alive, idle disconnect, background poll, reconnect/backoff), and all entities.
  • Strict typing job in CI (mypy --strict) and a unit-test job that runs the full suite.

Changed

  • Connection errors surfaced to the UI are now translatable (not_reachable) instead of raw English strings.
  • Expanded README with supported-device details, an entity reference table, how data is updated, known limitations, troubleshooting, an example automation, and removal instructions.

Notes

  • No changes to the BLE protocol, entities, or options. Existing installs upgrade transparently.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 17:18

What's changed in 0.7.0

Polish and best-practice pass, partly inspired by Home Assistant's core acaia Bluetooth integration (the Stagg shares the same Acaia/pyacaia BLE protocol family).

New

  • Diagnostics: the device page now has a Download diagnostics option that dumps the connection mode, poll interval, connection state, and the decoded kettle state. Handy for troubleshooting and bug reports.
  • Entity icons: Power, Hold timer, Holding temp, Hold enabled, and On base now have themed icons.
  • Suggested area: the kettle suggests "Kitchen" when you add it.

Under the hood

  • Background tasks are now tied to the config entry (named, auto-cancelled on unload) and the coordinator carries its config entry, matching current Home Assistant patterns.
  • Declared PARALLEL_UPDATES on every platform.

No configuration changes; existing setups keep working as before.

Full Changelog: v0.6.5...v0.7.0

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 21 Jun 22:36

What's changed in 0.6.5

Small fix and a wording tweak for the background poll.

  • Commands are no longer mislabeled as a poll result. If you control the kettle from Home Assistant (for example turning it on) while a background poll happens to be connected, the resulting power-on used to be logged as "Poll found it on" and treated as a probe. It is now correctly handled as a normal user-driven session.
  • Shortened the Background poll option description in the Configure dialog.

No configuration changes; existing setups keep working as before.

Full Changelog: v0.6.4...v0.6.5

v0.6.4

Choose a tag to compare

@github-actions github-actions released this 19 Jun 01:02

What's changed in 0.6.4

Options dialog

  • The Background poll setting now only appears when On demand mode is selected. Choosing Persistent skips it entirely (it has no effect there), so the dialog only shows options that apply.
  • Shortened the option descriptions so the dialog is easier to skim.

Reliability

  • A Bluetooth connection that finishes establishing just as the integration is reloaded or unloaded is now torn down instead of being left open. Previously, on a slow adapter, such a connection could linger and hold the kettle's single Bluetooth slot. Integration reloads happen whenever you change an option, so this could occur in normal use.

No configuration changes are required; existing setups keep working as before.

Full Changelog: v0.6.3...v0.6.4