Ava 0.6.4 - Dawn +
rethinks both sides of a wall panel: what it shows while resting and how its screen can be used while active. The new Dawn magazine screensaver combines changing artwork with Home Assistant weather and entity states. The browser’s new dual-WebView layout then turns one display into two simultaneous, independently focused web workspaces, with an adjustable split for dashboards, controls, charts, cameras, and everyday information.
The new Software Update center also brings release notes, version selection, downloads, and installation together on the device. Lyrics matching and synchronization, microphone routing and gain, broadcast intents, media overlays, compact displays, and translations all receive targeted improvements.
Dawn · Magazine Screensaver
The former Xiaomi-style screensaver has been rebuilt as Dawn · Magazine Screensaver. It presents a rotating wallpaper with the current time, date, and a short quote, then adapts the rest of the composition to the information that is available and to the screen orientation.
Dawn was designed around a different idea from a conventional smart-home dashboard. A wall panel spends much of its life being seen from across a room, when a dense grid of controls is neither inviting nor easy to read. Dawn therefore treats the idle screen like a new magazine page at the start of the day: the image and typography establish the atmosphere, while time, weather, and a few chosen Home Assistant states remain glanceable without taking over the composition. The result is intended to feel calm enough to leave on, personal enough not to become another static clock, and still useful before anyone touches the screen.
| Dawn 1 |
Dawn 2 |
|
|
|
| Dawn 3 |
Dawn 4 |
|
|
|
| Dawn 5 |
|
|
Up to four Home Assistant entity slots can be configured. Sensors, binary sensors, lights, and switches appear as compact status capsules with icons inferred from their entity type and name. A weather entity is treated specially: instead of becoming another capsule, it supplies a forecast strip along the bottom when forecast data is available. Dawn automatically selects a corner, centered, or dashboard layout according to the weather data, status capsules, and portrait or landscape space.
The wallpaper source is configurable. It can point to a JSON API or to an address that directly returns a random image; leaving it empty uses Ava’s default source. Images are preloaded before a transition, and the last successful content can be replayed from cache during startup or a temporary network outage. Compatibility handling for older Android WebView versions and an initial Home Assistant data push keep the page useful on the older wall panels that Ava commonly supports.
Path: Ava Settings → Screensaver → Magazine & Content
Dual Pages in the Browser
The browser’s major new capability in 0.6.4 is Dual Pages. Instead of treating a large display as one oversized phone page, Ava can turn it into two live web surfaces that remain visible and usable at the same time. They sit side by side in landscape and stack vertically in portrait. This is not a tab switcher or a static preview: both System WebViews stay present, and either one can become the active working page with a tap.
The size of the two panes can be adjusted rather than being locked to a half-screen layout. The default is 5:5, while independent weights from 1 to 9 let one page become the primary workspace and the other a narrow companion. A wall tablet can therefore use equal dashboards when both matter, a wide control panel beside a slim status column, or a large chart with a smaller set of actions without rebuilding either website.
The existing Home Assistant browser URL entity continues to control the left or upper page, preserving current automations. A second entity controls the right or lower page. Tapping either page gives it focus, after which URL editing, refresh, cache cleanup, and Web Console actions apply to that page. Console messages carry [L] or [R] markers, while settings such as page scale, text size, and User Agent refresh both pages when necessary.
This opens up combinations that previously required a second display or constant navigation:
- Two Home Assistant dashboards: keep a whole-home overview on one side and a room-specific dashboard on the other. For example, lights and climate can remain beside energy, security, or family status, with each dashboard retaining the layout built for its job.
- Live context beside controls: place a camera, doorbell, solar-production chart, music interface, or device diagnostics next to the Home Assistant controls that act on it. The larger pane can follow whichever side needs attention, while the companion page remains visible.
- A shared information display: combine a household dashboard or calendar with a stock-market page, news feed, transit board, weather radar, or another web service. Ava is only hosting the pages, so existing authenticated web tools and purpose-built dashboards can be paired without Ava needing a separate integration for each source.
Each pane has its own pull-to-refresh path, and page-specific tools follow the pane currently in focus. This keeps the two-page layout practical for interaction and troubleshooting, not just passive viewing. The release also connects the existing Allow scrolling preference to the browser input path so disabling it now takes effect as configured.
Dual Pages is available for System WebView and is hidden while the Gecko engine is selected.
Path: Ava Settings → Browser → Page Display → Dual Pages
Software Update Center
A new Software Update page brings the complete update flow into Device Services. It shows the installed version, loads the full GitHub release notes, and lists every published Ava release that includes an APK. The latest version can be updated or reinstalled, and an older release can be selected manually when troubleshooting requires it.
Download, verification, installation, and their progress are handled as one continuous task. Automatic updates, checks at startup, the Home Assistant update entity, and reopening Ava after an update are enabled by default. Starting Ava’s core services after installation remains optional and is disabled by default. Ignore Updates and Auto Update are mutually exclusive so that the device cannot be configured to both install and ignore the same release.
Ava can use its built-in downloader or the Android system downloader. Android may still show its normal installation confirmation when Root, Shizuku, or Device Owner privileges are unavailable. Android also prevents installing an older version over a newer one; to downgrade in that case, export the Ava configuration, uninstall the current version, install the older APK, and import the configuration again.
Thanks to @realroywalker for requesting improved update controls in #156.
Path: Ava Settings → Device Services → Software Update
Better Lyrics Matching and Synchronization
LRCLIB is now Ava’s primary lyrics source. A request that times out after five seconds, returns no useful result, or fails validation automatically falls back to QQ Music; the QQ Music path also performs one short retry when needed.
Matching now considers track duration and multiple artists more carefully, reducing cases where a different recording with the same title supplies the lyrics. Known spoken-track and no-lyrics placeholders are filtered out, and a new track without artist metadata no longer inherits the previous track’s artist.
Small one- or two-second progress corrections from the upstream player now use hysteresis, keeping the lyric window from jumping backward and forward around a line boundary. Deliberate, larger seeks still realign the lyrics immediately.
Microphone Routing and Negative Gain
Software microphone gain now ranges from -24 dB to +24 dB. Positive values amplify a quiet input, while negative values attenuate a microphone that is too loud or captures too much background noise. The default remains 0 dB.
Recording device routing is now a separate choice from Android’s AudioSource mode. Ava can select Auto, Built-in microphone, or USB microphone, with a safe fallback when the requested USB device is unavailable. Related AudioSource labels and translations have also been clarified.
Thanks to @lone-baggie for requesting explicit USB microphone selection in #157.
Path: Ava Settings → Voice Config → Microphone
Broadcast Intent Compatibility
Broadcast intent launching once again preserves structured fields such as intent_package_name. Ava now merges those fields with the broadcast URI: values explicitly included in the URI take priority, while structured fields fill only the missing parts.
The launcher accepts a bare action, an action with query parameters, or an intent:#Intent URI. A broadcast containing both a data URI and structured fields no longer falls into the older URI-only path. The Home Assistant and ESPHome service schema still exposes every field; unused fields should be supplied as an empty string.
Thanks to @pantherale0 for reporting the regression in #155.
Media Overlay Pause Recovery
The media overlay no longer gets caught between a paused state and its idle timer. In minimal mode with the floating button disabled, pausing playback now fades the overlay out after 20 seconds. If the upstream player is still not ready to resume 10 seconds later, Ava clears stale title and artist identity and waits for fresh metadata instead of leaving old media information stuck on screen.
When the floating button is enabled, or when the detailed player is used, the established 10-second pause behavior remains unchanged. Resuming playback cancels the pending cleanup.
Compact Display and Translation Fixes
The Mini launcher keeps its four-button layout within compact square displays around 480 x 480 instead of allowing controls to overflow the screen.