Skip to content

Releases: mxkissnr/gaggiuino-local-profiler

v1.84.4

19 Jun 19:51

Choose a tag to compare

Fixed

  • App Store update detection — Supervisor 2026.06.2 changed update detection to use the io.hass.type Docker image label (instead of image version). Our ghcr.io images were missing the required HA-specific labels (io.hass.version, io.hass.type, io.hass.arch). All images from this release onwards carry these labels, making the supervisor reliably detect future updates. Closes #165

v1.84.3

19 Jun 19:34

Choose a tag to compare

Fixed

  • Preheat no longer restarts from zero after a Home Assistant restart — on app start currentTemp is null (not yet polled); startLivePolling() now trusts the file-restored switchOnAt when the machine has not been off long enough to cool; machine that was never turned off (switchOffAt === null) is treated as still warm. Closes #164

v1.84.2

19 Jun 11:56

Choose a tag to compare

Fixed

  • Changing the coffee name in the shot annotation panel now always updates the roast date from the coffee library — previously the auto-fill was skipped if a roast date was already present (e.g. after "Copy from last"). Closes #163

v1.84.1

19 Jun 06:43

Choose a tag to compare

Fixed

  • The "machine ready / warm-up complete" notification was hardcoded English — it is now localized to your Home Assistant language (de/en/it/fr/es/nl, fallback German); closes #162

v1.84.0

17 Jun 20:43

Choose a tag to compare

Changed

  • Shot score brought closer to coffee best practice: added an Extraction Yield factor (SCA Golden Cup 18–22 %, active when TDS + dose are annotated) and the temperature factor now combines stability with accuracy vs the shot's target temperature — a stable but wrong-temperature shot no longer scores full on temperature (closes #161)

v1.83.1

17 Jun 20:34

Choose a tag to compare

Fixed

  • Docker builder stage now copies lib/ before npm run build (the frontend imports the shared lib/score.js) — fixes the v1.83.0 image build.

v1.83.0

17 Jun 20:32

Choose a tag to compare

Added

  • The shot score (0–100) is now computed once in the backend and served on each shot (/shots.json, /api/shots/*). The frontend and the HA integration read this single value — one source of truth, no more duplicated scoring logic. Scoring itself is unchanged.

v1.82.7

16 Jun 19:06

Choose a tag to compare

v1.82.7 — Fix: integration 401 auth failure

The HA integration was unable to fetch the GLP API token when Docker NAT exposed the HA core's HTTP connection from a non-private source IP, causing all sensor updates to fail with 401 Unauthorized.

What changed

/api/token now has three auth paths (secure, in priority order):

  1. Private IP — loopback / LAN / Docker bridge (existing, unchanged)
  2. Valid GLP token — already authenticated callers (existing, unchanged)
  3. HA Supervisor token (new) — if the request carries Authorization: Bearer <token>, the add-on verifies it against http://supervisor/info; only HA-internal processes (core, add-ons) hold valid Supervisor tokens, so external callers cannot forge access

Requires

GLP Integration v1.10.0 — sends the Supervisor token in the request header

Update path

  1. Update this add-on to v1.82.7
  2. Update the GLP integration to v1.10.0 via HACS
  3. Reload the integration (Settings → Integrations → GLP → ⋮ → Reload)

v1.82.6

11 Jun 15:30

Choose a tag to compare

Bug fix — corrects v1.82.5 regression for #155

v1.82.5 incorrectly removed the profile-name filter from comparative grind advice. Profiles should only be compared to shots with the same profile — that fix is reverted.

Real changes in this release:

  • Profile names are now .trim()-normalized before comparison, so leading/trailing whitespace no longer causes mismatches between stored shots.
  • Minimum threshold lowered from 2 → 1 comparable shot: profiles with only one annotated reference shot now also produce a comparison (e.g. a single ZER0 reference shot at grind 12.0 score 84 is already useful to show).

v1.82.5

11 Jun 15:24

Choose a tag to compare

Bug fixes

  • Grinder threshold mode — switching a grinder maintenance task to "days" mode no longer resets back to "shots" after a restart. Root cause: saved null was overwritten by the default 200 via the ?? operator on reload.
  • "This week" KPI — the Analytics summary now counts shots in the current calendar week (Monday–Sunday), not a rolling 7-day window.
  • Comparative grind advice — grind comparison shots now appear for all annotated profiles, not just the Adaptive profile. The profile-name filter has been removed; matching on coffee + grinder + dose is enough.
  • Customer statistics — the barista stats panel now uses a dedicated /api/orders/stats endpoint that reads all completed orders from disk without the 100-entry queue cap. Stats are always accurate and reflect the full history.
  • Security — grinder name in maintenance card title is now HTML-escaped (XSS fix).