Repository navigation
Releases: VahaC/CoffeeRecipeManager
Release list
v0.3.20 - Error reason in activity log
Added
- Error reason in activity log - when recipe status changes to
error, the HA logbook now shows a second entry with the full failure reason (e.g. recipe 'CaffeLatte' failed at step 2: Timeout after 300s...). Implemented via a newlogbook.pyplatform that describes thecoffee_recipe_manager_recipe_failedbus event.
v0.3.19 - Brand logo images
Added
- Brand logo images — added
logo.pngandlogo@2x.pngto the brand folder, generated from the existing integration icons to satisfy HACS branding requirements.
v0.3.18 — Fix: brew main drink before auxiliary switch actions
What's Changed
Fixed
-
Drink is now brewed before auxiliary switch actions in a combined step — Previously, when a recipe step contained both a drink and switch_counts (or switches / switch) fields, the auxiliary switch actions were executed first and only then the main drink was brewed. This caused incorrect behaviour for recipes such as CaffeLatte + Double Hotmilk, where hot-milk frothing ran before the espresso shot.
The execution order inside _execute_step has been corrected: the drink is always brewed first (select option → set double → start → wait for completion), and only after a successful completion are the switch steps executed in sequence. Fault handling and abort support are preserved for both phases.
Upgrade Notes
No configuration changes required. Existing recipes will automatically follow the corrected execution order.
v0.3.17 - Edit Recipes button + fix drink display
What's New
Edit Recipes button
A new Edit Recipes button (button.coffee_recipe_edit_recipes) has been added to the device Controls card. Press it to receive a persistent notification with a clickable link to the integration's configuration page — add, edit or delete recipes without manually navigating away from your dashboard.
For dashboards where you prefer a single-tap action with no notification, use a Lovelace navigate card:
type: button
name: Edit Recipes
icon: mdi:pencil-box
tap_action:
action: navigate
navigation_path: /config/integrations/integration/coffee_recipe_managerFixed
- Recipe display:
drink: noneno longer shown as "☕ none" — switch-only steps now render without a drink line in the View Selected Recipe notification and theget_recipe/list_recipesservice output. Thelist_recipesservice no longer raises aKeyErroron switch-only steps.
v0.3.16 - Auxiliary switch repeat fix (stable)
What's New
This stable release finalises the complete fix for auxiliary switch repeat counts (switch_counts: N > 1) not working reliably. The issue was traced through six diagnostic/beta builds (v0.3.9 - v0.3.15) and all root causes are now resolved.
Fixed
Auxiliary switch repeat runs (switch_counts)
- Race condition on momentary switches - state-change listener is now registered before urn_on is called, so fast ON?OFF cycles are never missed.
- False immediate completion (idle-state bug) - completion tracking uses an unknown ? on ? done model. An entity that is already OFF at step start is treated as unknown, not done, so the done-signal only fires after an observed ON?OFF transition.
- Wrong completion signal - completion is now detected by watching machine_start_switch (the machine's own end-of-cycle signal) in addition to the aux switch itself; done fires only when both have completed an ON?OFF transition.
- Short inter-run settle pause - fixed 5-second pause between repeat activations ensures the machine is fully ready before the next urn_on command.
Changed
- Diagnostic [CRM] log statements that were added at WARNING level (v0.3.10) have been demoted to DEBUG level. They will no longer appear in default Home Assistant logs.
Upgrade Notes
If your recipe step has an explicit imeout: value that is shorter than the machine's actual cycle time, increase it to at least the longest expected single-run duration (e.g. imeout: 120). The default timeout is 120 seconds when no explicit value is set.
v0.3.15 - 5s inter-run settle pause (beta)
Inter-run settle pause increased from 3s to 5s.
v0.3.14 - ON->OFF tracking + fixed inter-run delay (beta)
Fixes
done_eventnow fires only after observing ON->OFF transitions on both aux switch and machine_start (not idle OFF state)- Inter-run delay is now a fixed 3s settle pause (was
max(1, timeout-elapsed)which caused 90s waits with timeout=120) DEFAULT_STEP_TIMEOUTbumped to 120s
Still includes [CRM] WARNING diagnostic logs.
v0.3.13 - done only when BOTH aux+machine_start OFF (beta)
done_event now fires only when both aux switch AND machine_start are OFF simultaneously.
Logs will show: both aux and machine_start are OFF -> done
v0.3.12 - aux switch + machine_start dual completion (beta)
Changes
_run_switch_once now listens to both the aux switch and machine_start_switch for completion:
- aux switch OFF \u2192 done
- machine_start OFF \u2192 done
- either within Stage 1 (5s min) = fast complete
Still includes [CRM] WARNING diagnostic logs.
v0.3.11 - Fix switch Stage 2 timeout race (beta)
Root cause (from diagnostic logs)
The switch hotwaterdispensing stays ON for the full dispense duration (~30s). With timeout: 30 in the recipe, Stage 2 waited exactly 30s for the switch to turn OFF - the machine's dispense time equals the timeout, causing a race condition where asyncio.wait fired at the same moment the switch turned off.
Fix
Stage 2 now waits timeout + 10s (silent buffer). A step with timeout: 30 will actually allow up to 40s for the switch to turn OFF. The error message still reports the user-visible timeout.
Still includes diagnostic [CRM] WARNING logs from v0.3.10.