Changelog
Compatibility
| Firmware | Integration | ESPHome Device Builder | Home Assistant |
|---|---|---|---|
| v0.0.23 | v0.0.83 | 2026.5.0+ | 2024.4.0+* |
Always run the latest firmware and integration together. If you update the integration, check the firmware changelog for any matching firmware release.
*Home Assistant 2024.4.0 or later is required for full Pivot functionality. The integration’s bundled blueprints use the
action:key andtrigger:shorthand syntax introduced in that release. The integration itself will install (and work) on older versions of Home Assistant, but the blueprints will silently fail to validate.
Integration
Blueprints are updated independently of the integration. Import them directly from GitHub – see the Timer page and Custom Automations page for links. Re-importing picks up any fixes without needing an integration update.
v0.0.83
- Fix: Knob value changes triggered by user automations are no longer silently ignored. Previously, any
number.set_valuecall made inside an automation (which carries a parent context) was incorrectly treated as an internal sync write and dropped. - Fix: Timer duration knob scaling now uses the correct fallback maximum of 60 minutes, matching the timer duration entity definition.
v0.0.82
- Fix: Setup notification is now shown only once. The flag is stored in the config entry after the notification is sent, so it is never recreated on subsequent restarts even if dismissed.
- Fix: Switch states (e.g. Show Control Value, Dim LEDs When Idle) are now re-published to the firmware after Home Assistant finishes starting. The ESPHome device subscribes via WebSocket and may receive
unavailableduring startup before state is restored – the re-publish ensures it receives the correct value once HA is ready. - New (Timer Toggle script blueprint): Dashboard timer button now switches to the timer bank before firing the press if the device is currently on a different bank. Requires re-importing the Pivot Timer Toggle script blueprint.
v0.0.81
- New (Timer blueprint): Display Persistent Value (
show_control_value) is now automatically turned on when the timer starts or resumes, and restored to its previous state when the timer ends, is cancelled, or auto-cancels after 15 minutes of being paused. If it was already on before the timer started, it stays on afterwards. Requires re-importing the Pivot – Timer Control blueprint.
v0.0.80
- Change: Blueprints are no longer bundled with the integration. They are now hosted publicly on GitHub and imported via URL – see the Timer page for import links. Re-importing picks up any updates without needing an integration release. A setup notification now appears when a new device is added, linking directly to the import URLs.
v0.0.79
- Change: Triple press now announces the assigned bank entity regardless of the System Announcements switch. Mute Announcements still silences it.
v0.0.78
- Fix: Climate and cover value announcements now speak the commanded value rather than reading from the entity attribute. Previously the announcement fired ~200 ms after the debounced service call, which was not enough time for cloud devices to confirm the new state – so the spoken temperature or position was always the previous value. Climate now computes the target temperature from the knob position using the entity’s min/max range; cover announces the commanded position directly.
v0.0.77
- Fix: Climate, cover, and media player service calls are now debounced (400 ms) when the knob is turned quickly. Previously, rapid knob turns sent a service call on every tick, which could cause cloud-connected devices (e.g. Tuya, MagiqTouch) to drop commands or go temporarily offline. The actual command now only fires once the knob settles. Visual feedback (LED ring colour,
pivot_knob_turnevents) is unaffected and still updates in real-time.
v0.0.76
- Fix: Configure screen bank entity assignments were shifted by one and Bank 4 was unreachable. The options flow was using the 0-based form field key directly as the entity ID key, producing
bank_0_entitythroughbank_3_entityentity lookups that no longer exist after the v0.0.75 rename. Form key and entity ID key are now decoupled with the correct+1offset applied only to the entity ID lookup.
v0.0.75
- Breaking change: Bank entity IDs are now 1-based to match user-facing bank numbers.
bank_0_*entities are nowbank_1_*,bank_1_*are nowbank_2_*, and so on throughbank_4_*. Existing entity registry entries for renamed entities will be orphaned and must be removed. Any custom automations or dashboards referencing the old entity IDs will need to be updated. The firmware, integration, dashboard YAML, and blueprints are all updated together in this release.
v0.0.74
- Fix: All Pivot devices failed to load on startup with
AttributeError: 'EntityRegistry' object has no attribute 'async_entries_for_device'. The button event entity lookup was using an instance method form of the API that was added in a later HA version. Reverted to the stable module-leveler.async_entries_for_device(registry, device_id)call, which works across all supported versions. The crash occurred after bank control listeners were registered but before they were stored, so knob control continued to work while button toggle and announcements were completely non-functional.
v0.0.73
- Fix: Non-dimmable lights (lights with no
brightnessattribute) now sync to 100% when on instead of 0%. Switching to a bank assigned to a non-dimmable light no longer shows an empty gauge. - Fix:
numberandinput_numberentity values are now snapped to the entity’s declared step size before being applied. Previously, the exact knob value was written regardless of the entity’s step, which could produce out-of-step values on strict entities. - Fix: Climate temperature sync no longer falls back silently on conversion error. If
min_temp,max_temp, or the current temperature cannot be read, the sync is skipped cleanly rather than writing an incorrect value. - Fix: Switch entities reliably publish their restored state immediately on startup. Previously, if the last state was unavailable, the entity could briefly appear unavailable before the next state write.
- Fix: The startup push timer on bank colour light entities is now correctly cancelled if the entity is removed before it fires. Previously the cancel handle was not registered with
async_on_remove, so it could attempt to fire on an entity that no longer existed. - Fix: ESPHome device hostname is now URL-encoded when building the device configuration link. Devices with hyphens, dots, or other special characters in their name no longer produce a malformed link in the device page.
- Fix: Config flow now fails clearly if the ESPHome device name cannot be read from the config entry, instead of silently falling back to a wrong suffix and misconfiguring the device.
- Change: Config flow suffix field now pre-fills with the suffix detected from the selected ESPHome device, so it does not need to be re-typed.
- Internal: Translations file (
translations/en.json) added – config flow steps, field labels, error messages, and abort reasons now appear correctly in the HA UI. - Internal:
__init__.pysplit into focused modules (bank_control,button,mirror,blueprints,announcements,entity_mappings). No change in behaviour. - Internal:
PASSIVE_DOMAINSconsolidated into a single definition inconst.py– previously duplicated in four places.
v0.0.72
- Fix: Climate temperature mapping now reads
min_temp,max_temp, andtarget_temp_stepdirectly from the thermostat entity’s attributes instead of assuming a hardcoded 16–30 °C range. Works correctly with Fahrenheit thermostats, non-standard ranges, and any step size – no configuration required. - Change: All legacy migration code that read and wrote
scripts.yamlandautomations.yamlhas been removed. This eliminates a category of fragile file-mutation behaviour that was a holdover from the removed Automatic (managed) mode.
v0.0.71
- Fix: Turning off System Announcements no longer silences value announcements (knob turn). System Announcements and Value Announcements are independent – System Announcements controls bank change and control mode spoken announcements only; per-bank Announce Value switches control value announcements. These were incorrectly coupled.
- Fix:
input_numberentities now correctly trigger value announcements and speak their value with unit after the knob settles. They were inadvertently excluded from the announcement domain list despite being a fully supported active domain. - Fix: Switching to a timer bank while the timer is idle no longer causes a spurious write back to the timer duration. A missing sync context meant the bank value update was treated as a physical knob turn, producing a rounding-affected duration write and a false
pivot_timer_duration_setevent. - Fix: Minimum required Home Assistant version corrected to 2024.4.0 in HACS metadata (was incorrectly listed as 2024.1.0, which could lead to a confusing install failure on older versions).
v0.0.70
- Fix: Switching to a timer bank now announces “Timer” correctly. The bank change announcement was skipped for timer banks because the bank entity value
timercontains no dot – which was the guard used to detect a real entity. Timer banks are now handled separately and announce “Timer” explicitly.
v0.0.69
- Fix: Value announcements (knob turn) now fire correctly.
hass.async_call_lateris not a valid method on thehassobject – the debounce call threw an exception on every knob turn, silently preventing announcements. Replaced withasync_call_later(hass, delay, callback)fromhomeassistant.helpers.event.
v0.0.68
- Change: Announcements are now handled natively by the integration. The Pivot – Announce blueprint has been removed. To enable announcements, go to Settings → Devices & Services → Pivot → your device → Configure, pick a TTS service and speaker, and tick Enable spoken announcements. The integration announces bank names on bank change and triple press, and speaks entity values after the knob settles (gated per-bank by the Announce Value switches). The same TTS and speaker settings are shared with the Timer blueprint.
v0.0.66
- Change: Manual setup mode removed. Blueprints are always installed. The configure dialog now shows only TTS and speaker settings, with a note that advanced users can build custom automations using Pivot’s events.
v0.0.65
- Fix: Value announcements no longer fire when an entity is changed externally (dashboard, motion, assist, etc.) after a button press or bank sync.
_sync_value_from_entitywas callingnumber.set_valuewithout a context, so the resulting state change hadparent_id=Noneand was treated as a physical knob turn, firingpivot_knob_turnand triggering the announce blueprint.
v0.0.64
- Fix: Pivot – Timer blueprint no longer triggers start/pause on button presses from non-timer banks. The single press condition now checks that the pressed bank matches the timer bank number.
v0.0.63
- Debug: Added detailed debug logging to the button press listener – logs which entity is being watched, skipped reconnect transitions, and the resolved press type, control mode, and bank entity on every press.
v0.0.62
- Fix: Corrected the fallback device_id lookup for older config entries. The previous fallback incorrectly matched the ESPHome device name against device registry identifiers (which are MAC addresses). Now mirrors the same
host/namelookup the config flow uses.
v0.0.61
- Fix: Button event entity lookup now uses
device_class: buttoninstead of a string match on the entity ID, making it reliable regardless of how the ESPHome device is named in HA. Falls back to anyevent-domain entity on the device if device class is absent. - Fix: Added fallback device_id lookup for config entries set up before
device_idwas stored – resolves via the ESPHome device name. Failures are now logged at WARNING level instead of being silently dropped.
v0.0.60
- Fix: Button toggle no longer fires spuriously when the ESPHome device reconnects to Home Assistant. Previously, the
button_press_evententity restoring its last state on reconnect could cause an unintended entity toggle.
v0.0.59
- Change: Button toggle is now handled natively by the integration – the Pivot – Bank Toggle script blueprint is no longer needed. Requires a firmware reflash (v0.0.15+). Existing users: delete the
{suffix}_bank_togglescript from Home Assistant after reflashing.
v0.0.58
- Change: Pivot – Timer blueprint no longer requires a Bank Number input. The blueprint automatically detects which bank is reserved as a timer by reading the bank entity text entities at runtime. If no timer bank is reserved when the automation is created, the blueprint is inert and activates automatically once one is assigned – no changes to the blueprint needed.
v0.0.57
- New: TTS service and media player are now configured once in the integration settings and shared automatically across all blueprints. Two new diagnostic text entities (
text.{device_suffix}_tts_entity,text.{device_suffix}_media_player_entity) are written from the config entry on every setup and reload. - Change: Pivot – Timer blueprint no longer has a TTS Entity input – TTS is read automatically from the integration settings.
- Change: “Speak bank and mode changes” toggle removed from the configure dialog. The System Announcements switch (
switch.{device_suffix}_announcements) now uses normal restore behaviour – defaults on at first creation, then user-controlled from the device page.
v0.0.54
- Fix: Blueprint files are now bundled inside
custom_components/pivot/blueprints/so HACS ships them correctly. Previously they lived at the repo root (blueprints/) which HACS does not install –_install_blueprintswas silently copying nothing. - Change: Legacy per-device blueprint files (e.g.
pivot_ha_voice_orange_announcements.yaml) and backup files (automations.yaml.pivot_backup,scripts.yaml.pivot_backup) left by a previous Automatic mode installation are now removed automatically on startup.
v0.0.53
- Fix: Fixed an
IndentationErrorintroduced in v0.0.52–a missingreturninside thecontext.parent_idguard in the timer bank branch left an emptyifblock, preventing the integration from loading.
v0.0.52
- Change: Automatic (managed) mode removed. The integration no longer writes to
scripts.yaml,automations.yaml, or/config/pivot/. Any device previously configured in Automatic mode is migrated to Blueprint mode automatically on next restart, and the files Pivot wrote are cleaned up. - New:
pivot_bank_changedevent added. Fired whenever the active bank changes, withsuffix,bank, andbank_entityfields. - Fix: Value announcements no longer fire when an entity is changed externally (motion, dashboard, automation). The
pivot_knob_turnevent now only fires when the change originates from a physical knob turn – detected viacontext.parent_id.
v0.0.51
- Fix: Bank entity text fields no longer revert to the configured default on every Home Assistant restart. Previously,
async_setup_entrywould overwrite whatever value the entity had restored from state storage with the value stored in the config entry – so any direct edits made outside the configuration flow would be lost on restart. The startup write loop has been removed; entities now restore correctly via Home Assistant’s built-in state persistence, and the configure flow continues to write values immediately when the user reconfigures.
v0.0.50
- Fix: Fixes a 500 error in the Home Assistant automation editor when opening automations created from the
pivot_announce_bank.yamlorpivot_timer.yamlblueprints after themute_entityinput was added. Theentityselector withdefault: ""was invalid – changed to atextselector so an empty value is accepted. Also tightens the mute condition to handlenullas well as empty string (not mute_entity or ...).
v0.0.49
- New: Per-bank Announce Value switches (
switch.{suffix}_bank_N_announce_value, one per bank). When enabled, the value of the bank’s assigned entity is announced via TTS after the knob settles (~600 ms debounce). Supportsclimate(speaks temperature),cover(speaks position),light,media_player, andfan(speak knob value as percent), andnumber(speaks entity state with unit). Off by default. - New: Global Mute Announcements switch (
switch.{suffix}_mute_announcements). When on, all spoken announcements are suppressed – no other behaviour changes. Off by default.
v0.0.48
- New (Script blueprint): Adds the Pivot Timer Toggle script blueprint. Install once – the script is shared across all Pivot devices, with
device_suffixandbankpassed as runtime variables by each dashboard card.
v0.0.47
- Fix (Timer blueprint): Duration announcement now plays reliably when the knob is turned slowly. The debounce condition was comparing
states(duration_entity)againsttrigger.event.data.duration– if the HA entity state hadn’t updated within the 150 ms debounce window, the comparison silently failed and no announcement played. Duration is now read directly from the original trigger event data, which is always available immediately.
v0.0.46
- Fix (Timer blueprint): Bank entity check is now case-insensitive.
Timer,TIMER, etc. are all accepted alongside the recommended lowercasetimer.
v0.0.45
- Change (Timer blueprint): Reverted the
/5sgauge sync added in v0.0.44. With multiple devices each running an automation every 5 seconds, the idle overhead outweighs the benefit. The single/30strigger is restored.
v0.0.44
- Change (Timer blueprint): Added a
/5sgauge sync trigger for smoother gauge updates while running. Reverted in v0.0.45.
v0.0.43
- Change (Timer blueprint): Long press cancel is now restricted to the timer bank. Previously, a long press on any bank would cancel the timer – this conflicted with long press being reserved for custom actions on other banks. The cancel now only fires when
number.{suffix}_active_bankmatches the configured timer bank number.
v0.0.42
- New (Timer blueprint): Adds a Silent Mode boolean input (off by default). When enabled, the blueprint sets the
timer_silent_modeswitch on the device before triggering the alarm – suppressing the alarm sound while leaving the LED ring pulse and “stop” wake word intact. Requires firmware v0.0.14 or later; gracefully ignored on older firmware.
v0.0.41
- New (Timer blueprint): A dedicated cancel button can now be added to the dashboard. The blueprint accepts
pivot_button_presswithpress_type: long_pressas a secondary cancel trigger alongside the physical long press – enabling a dashboard script to cancel in the same way the physical button does, including the “Timer cancelled” TTS announcement. See the Timer page for setup.
v0.0.40
- Fix (Timer blueprint): Long press cancel now works reliably. Adds a Button Event Entity input (pre-filtered to event entities on the selected Pivot device) and uses a direct state trigger on it instead of relying on
pivot_button_press.
v0.0.39
- Change (Timer blueprint): Replaced separate Media Player and Timer Ringing Switch entity inputs with a single Pivot Device picker. The media player, timer ringing switch, and button event entity are now derived automatically from the selected device using
device_entities().
v0.0.38
- Fix (Timer blueprint): Long press cancel now reliably triggers the automation. The previous blueprint used a single unfiltered
pivot_button_presstrigger and relied on conditions to match the right device and press type – causing long press traces to be silently displaced from the 5-entry history by gauge sync and other events before they could be inspected.
v0.0.37
- Fix (Timer blueprint): Dashboard alarm dismissal now works correctly. The previous approach constructed
switch.{suffix}_timer_ringingto identify the alarm switch, but the ESPHome device name and the Pivot suffix are independent and don’t have to match. A new optional Timer Ringing Switch input lets you pick the correct entity directly.
v0.0.36
- New (Timer blueprint): A dashboard button can now start, pause, resume, and dismiss the timer alarm by firing a
pivot_button_pressevent. See the Timer page for setup instructions. Requires firmware v0.0.13.
v0.0.34
- Change: Pivot-owned YAML files are now written to a
/config/pivot/subfolder instead of the/config/root. - Fix: Automation filenames had a double
pivot_prefix (pivot_pivot_{suffix}_announcements.yaml). Files are now namedpivot_{suffix}_announcements.yamlas intended. - Fix: The duplicate include-line check was comparing exact strings – a format change between versions could bypass it and append a second entry. The check now uses a filename-based marker.
- Fix: The write order for
scripts.yaml/automations.yamlwas not atomic. Each write now creates the new file first, then rewrites the parent YAML in one pass, then deletes any legacy files. - Change: The include-line write is now self-healing. On every load, Pivot strips all existing entries for its keys and writes the correct single line.
v0.0.33
- Fix (Timer blueprint): Long press cancel now works from any bank on the device.
- Fix (Timer blueprint): Long press is now correctly restricted to
runningandpausedstates. - New (Timer blueprint): Paused timers auto-cancel after 15 minutes.
v0.0.32
- Fix (Timer blueprint): Timer alarm now dismisses reliably on the first press. The alarm is now handed off entirely to device firmware (v0.0.11+): the blueprint sets
timer_statetoalerting, the firmware starts the built-in alarm, and dismiss is handled natively in firmware. - Change (Timer blueprint): Switched back to
mode: queued. Queue depth increased to 10. - Change (Timer blueprint): Long press during
alertingstate is now ignored.
v0.0.31
- Fix (Timer blueprint): Finish alert dismiss is now more reliable. The dismiss branch no longer requires the button press to match the configured bank number – any press on the device dismisses the alarm.
v0.0.30
- Fix (Timer blueprint): Finish alert now dismisses immediately on any press. The blueprint now uses
mode: parallelso a button press runs the dismiss branch immediately, regardless of what the alert loop is doing. - Fix (Timer blueprint): The “1 minute timer – press to start” announcement no longer plays after dismissing the finish alert.
- Fix (Timer blueprint): A press during the optional TTS finish announcement now also dismisses immediately.
- Fix (Timer blueprint): TTS Entity input is now an entity picker (dropdown) instead of a plain text field.
- New: Added
alertingas a validtimer_stateselect option.
v0.0.29
- Fix: Passive banks (scene, script, switch, input_boolean) now show no gauge – when switching to a passive bank the LED gauge immediately goes to 0.
v0.0.26
- Fix (Timer blueprint): Pressing to dismiss the finish alert no longer immediately re-starts the timer.
- Change: Timer duration maximum reduced from 120 to 60 minutes.
v0.0.25
- Fix (Timer blueprint): Timer finish alert now reliably dismisses on first button press.
- Fix (Timer blueprint): Long press now reliably cancels the timer.
- Change (Timer blueprint): Finish alert flash timing increased to 500 ms on / 300 ms off.
- New (Timer blueprint): TTS announcements on start, pause, and resume.
- Fix: Clamp timer duration to a minimum of 1 minute when set via the knob.
v0.0.24
- New: Timer banks now respond to the knob when the timer is idle. Turning the knob sets the timer duration and the gauge shows the selected duration as a proportion of the maximum. When the knob stops moving, the selected time is announced via TTS. Requires the Timer blueprint to also be updated to v0.0.24.
v0.0.23
- New: Added Dim LEDs When Idle switch. Requires firmware v0.0.9.
v0.0.22
- New:
input_numberandnumberentities are now supported.
v0.0.21
- Fix:
bank_N_configured_colorentities introduced in v0.0.20 were incorrectly marked as disabled by default. Changed toentity_category: diagnostic.
v0.0.20
- New: Added
bank_N_configured_colortext entities (one per bank, hidden). Required by firmware v0.0.7.
v0.0.19
- Fix: Announcements automation reverted to
mode: single.
v0.0.18
- Fix: Timer finish alert now reliably dismisses on first button press.
v0.0.17
- Fix: LED gauge now shows correctly on timer banks.
v0.0.16
After updating: two manual steps are required:
- If you use the timer, go to Settings → Devices & Services → Pivot → your device → Configure and set the bank entity for your timer bank to
timer(lowercase).- Open your Pivot Timer automation and re-save it so it picks up the updated blueprint logic.
- Fix: Switches now correctly restore their state after a Home Assistant restart.
- Fix: Timer blueprint now requires the bank entity to be set to
timer. - Change: Timer finish flash speed increased to 150 ms per flash.
- Fix: Dismiss press is now checked at the start of each alert loop iteration.
- Change: Announcements automation now uses
mode: restart. - Fix: Bank toggle script no longer attempts to toggle
timeras a real entity.
v0.0.15
- New: Timer finish now repeats – gauge flashes 3 times and the finish sound plays in a loop (up to 10 times) until dismissed.
- Change: Finish sound is now hardcoded to the VPE built-in
timer_finished.flac. - New: Optional TTS message now plays once before the alert loop begins.
v0.0.14
- Fix: Single press no longer causes
idle → running → pausedon reflashed firmware.
v0.0.13
- Fix:
switchandinput_booleanentities now correctly mark their bank as passive.
v0.0.12
- Fix: Changed bank-toggle script and timer blueprint to
mode: single.
v0.0.11
- Fix: Pressing once after a cancel/reset no longer immediately puts the timer into a paused state.
v0.0.10
- Fix: Gauge now holds the correct remaining percentage when the timer is paused.
v0.0.9
- Fix: Timer blueprint now triggers correctly on single press.
v0.0.8
- Fix: Timer entities now appear correctly under the device.
- Change: Timer entity set is now
number.{suffix}_timer_duration,select.{suffix}_timer_state, andtext.{suffix}_timer_end. - Change: Pivot Timer blueprint rewritten to be fully self-contained.
v0.0.7
- New: Timer helper feature – three new per-device entities provisioned per device, disabled by default.
- New: Pivot Timer blueprint.
- New: Timer docs page.
v0.0.6
- Fix: Resolved oscillation loop when adjusting brightness via the knob.
v0.0.5
- Fix: Resolved a feedback loop in live entity sync where lights reporting intermediate brightness values during a transition could cause the LED gauge to oscillate.
v0.0.4
- Fix: Turning off Mirror light colour now restores the colour set in the bank’s colour picker.
- New: Bank value now stays in sync when the assigned entity is changed externally.
v0.0.3
- Added Mirror light colour per-bank switch.
- Removed secondary control value entity.
v0.0.2
- Setup mode screen: descriptions and note added.
- Bank assignment screen: removed colour names from bank labels.
- Triple press announcement now says entity name only.
- Bank change announcements now suppressed when bank is changed externally.
- Added icon files to repo root for HACS.
v0.0.1
- Initial release.
Firmware
v0.0.23
- Fix: Migrated HTTP media sources from
platform: http_requesttoplatform: audio_http. Thehttp_requestexternal component pin and top-level config key have been removed – this platform is now built into ESPHome 2026.5 under its new name. Builds on 2026.5 would fail without this change. - Fix: Updated
hey_mycroftwake word sensitivity probability cutoffs to match the v2 model tuning (253 / 242 / 237 for Slightly / Moderately / Very sensitive). The previous values were carried over from hey_jarvis and were not tuned for hey_mycroft@v2.
v0.0.22
- Fix: Removed the kahrendt external component entry (
sendspin,const,media_source). These components are now built into ESPHome 2026.5 and the pinned external ref was conflicting with the built-in versions. Requires ESPHome 2026.5.0 or later.
v0.0.21
- New: In control mode, turning the knob while the voice assistant is speaking adjusts the device volume instead of the active bank value. The LED ring switches to the voice mode volume display for the duration. Triggered only by VA TTS replies – integration announcements (bank values, bank changes) are unaffected.
v0.0.20
- Fix: Updated component pins for ESPHome 2026.4.0 compatibility.
audio,media_player,mdns,file, andspeaker_sourcecomponents are now merged into ESPHome core and no longer pinned externally.sendspin,media_source, andconstare now sourced from the updated PR #14933.http_requestpin updated to the current PR #12429 commit. Audio pipeline migrated to the newaudio_fileplatform and updatedspeaker_sourcepipeline API. No functional changes.
v0.0.19
- Breaking change: Bank entity ID subscriptions updated from 0-based (
bank_0_*) to 1-based (bank_1_*throughbank_4_*) to match integration v0.0.75. Must be updated together with the integration – the two are not compatible across this change.
v0.0.15
- Change: Single press in control mode no longer calls
script.{suffix}_bank_toggledirectly. Toggle is now handled by the integration natively on thebutton_press_eventtrigger. Requires integration v0.0.59+. - Fix:
button_press_eventnow only fires after media checks – if the press was used to stop an announcement or pause media, HA is no longer notified (preventing a spurious entity toggle).
v0.0.14
- New: Adds a
Timer Silent Modeswitch. When on, the alarm sound is suppressed at the end of a Pivot timer – the LED ring still pulses and the “stop” wake word still activates, only the sound is silenced. Off by default. Requires a reflash.
v0.0.13
- New: The
timer_ringingswitch is now exposed to Home Assistant, allowing a dashboard button or automation to dismiss the timer alarm by callingswitch.turn_off. Requires a reflash.
v0.0.12
- New: A button press in control mode now cancels an active voice assistant session without firing a
pivot_button_pressevent.
v0.0.11
- New: Timer alarm is now handled entirely in firmware. When the blueprint sets
timer_statetoalerting, the firmware plays the alarm from local flash storage, pulses the LED ring, and enables the “stop” wake word. When dismissed, the firmware calls back to HA to reset the state. Requires a firmware reflash.
v0.0.10
- Fix: Passive banks (scene, script, switch, input_boolean) no longer show the full LED ring when Show Control Value is enabled. Passive banks now show no gauge.
v0.0.9
- New: “Dim LEDs When Idle” feature. When enabled, the control mode gauge dims to 50% brightness after 2 seconds of no interaction. Requires integration v0.0.23.
v0.0.8
- Fix: Switches such as Show Control Value and Control Mode now apply correctly after a restart without needing to be toggled.
v0.0.7
- Fix: Bank Indicator now always shows the colour set in the bank’s colour picker, regardless of mirror state. Requires integration update to v0.0.20.
- Change: Removed the
ha_initializedstartup guard andupdate_configured_colour_Nworkaround scripts.
v0.0.6
- Fix: Double-pressing to toggle control mode now plays the sound first, then speaks the announcement.
- Change: Triple-pressing in normal/voice mode no longer plays the triple-press sound effect.
v0.0.5
- New: Bank Indicator quadrant now shows the bank’s configured colour when switching banks.
- Fix:
bank_mirror_r_0global was missing from the firmware. - Fix: Configured-colour backup was being overwritten with the light’s colour due to a race condition.
v0.0.4
- Fix:
single_pressadded tobutton_press_evententity – the firmware now fires this event on every valid single press. Requires a firmware reflash.
v0.0.3
- Removed secondary scroll (hold+turn in Normal mode) – restored to stock behaviour.
- Removed unused mirror firmware globals.
v0.0.1
- Initial release.