Ava - Dawn +
本次更新重新思考了墙板的两面:它静置时显示什么,以及激活时屏幕如何使用。全新的 Dawn 杂志屏保将轮换 artwork 与 Home Assistant 的天气和实体状态结合在一起。浏览器的双 WebView 布局则将一块屏幕变成两个同时运行、可独立聚焦的网页工作区,支持自由调节分屏比例,用于仪表盘、控制面板、图表、摄像头和日常信息。
全新的软件更新中心将发行说明、版本选择、下载和安装整合到设备端。歌词匹配与同步、麦克风路由与增益、广播 Intent、媒体浮层、紧凑显示和翻译也都获得了针对性改进。
Dawn · 杂志屏保
此前的小米风格屏保已全面重构为 Dawn · 杂志屏保。它以轮换壁纸搭配当前时间、日期和一句短引言为基础,然后根据可用信息和屏幕方向自适应调整其余布局。
Dawn 的设计理念与传统智能家居仪表盘不同。墙板大部分时间都在房间对面被看到,此时密集的控件网格既不友好也不易读。因此 Dawn 将闲置屏幕视为一天开始时翻开的新杂志页面:图像和排版奠定氛围,而时间、天气和少量选定的 Home Assistant 状态保持一目了然,但不会喧宾夺主。最终效果应该足够安静,可以一直开着;足够个性化,不会沦为另一个静态时钟;同时在任何人触碰屏幕之前仍然有用。
1
2
3
4
5
最多可配置四个 Home Assistant 实体槽位。传感器、二进制传感器、灯光和开关会以紧凑的状态胶囊形式出现,图标根据实体类型和名称自动推断。天气实体享有特殊处理:它不会变成另一个胶囊,而是在有预报数据时,在底部提供一条预报栏。Dawn 会根据天气数据、状态胶囊以及横屏或竖屏空间,自动选择角落布局、居中布局或仪表盘布局。
壁纸来源可配置。它可以指向 JSON API,也可以指向直接返回随机图片的地址;留空则使用 Ava 的默认源。图片在切换前预加载,上次成功获取的内容可在启动时或临时网络中断期间从缓存回放。针对旧版 Android WebView 的兼容性处理,以及初始的 Home Assistant 数据推送,确保该页面在 Ava 通常支持的旧款墙板上也能正常使用。
路径:Ava 设置 -> 屏保 -> 杂志与内容
浏览器双页面
浏览器在 0.6.4 中的重大新能力是双页面。Ava 不再将大屏当作一个放大的手机页面,而是将其变成两个同时可见、可用的网页表面。横屏时左右并排,竖屏时上下堆叠。这不是标签切换器或静态预览:两个系统 WebView 都保持活跃,点击任意一个即可将其设为当前工作页面。
两个窗格的大小可以调节,不再锁定为对半分屏。默认比例为 5:5,而 1 到 9 的独立权重可让一个页面成为主工作区,另一个成为窄边伴侣。因此墙板平板可以在两边都重要时使用等宽仪表盘,也可以在宽控制面板旁放一条窄状态栏,或者在大图表旁放一组较小的操作按钮,而无需重建任何网站。
现有的 Home Assistant 浏览器 URL 实体继续控制左侧或上方页面,保留现有自动化。第二个实体控制右侧或下方页面。点击任一页面即可聚焦,此后 URL 编辑、刷新、缓存清理和 Web 控制台操作均作用于该页面。控制台消息会带有 [L] 或 [R] 标记,而页面缩放、文字大小、User Agent 等设置在需要时会同时刷新两个页面。
这打开了此前需要第二块屏幕或不断导航才能实现的组合:
- 两个 Home Assistant 仪表盘: 一边放全屋概览,另一边放房间专属仪表盘。例如,灯光和气候可以始终与能源、安防或家庭状态并排显示,每个仪表盘都保留为其职责设计的布局。
- 实时上下文与控件并排: 在 Home Assistant 控制旁边放置摄像头、门铃、太阳能发电图表、音乐界面或设备诊断。较大的窗格可以跟随需要关注的一侧,而伴侣页面始终保持可见。
- 共享信息展示: 将家庭仪表盘或日历与股市页面、新闻源、交通看板、天气雷达或其他 Web 服务组合。Ava 只是托管页面,因此现有的已认证 Web 工具和专用仪表盘可以配对使用,无需 Ava 为每个来源单独集成。
每个窗格都有自己的下拉刷新路径,页面专属工具跟随当前聚焦的窗格。这让双页面布局不仅适合被动观看,也适合实际交互和排错。本次更新还将现有的允许滚动偏好设置连接到浏览器输入路径,因此禁用它现在会按配置生效。
双页面在系统 WebView 下可用,选择 Gecko 引擎时隐藏。
路径:Ava 设置 -> 浏览器 -> 页面显示 -> 双页面
软件更新中心
全新的软件更新页面将完整的更新流程整合到设备服务中。它显示已安装版本,加载完整的 GitHub 发行说明,并列出所有包含 APK 的已发布 Ava 版本。可以更新或重装最新版本,也可以在排查问题时手动选择旧版本。
下载、校验、安装及其进度作为一个连续任务处理。自动更新、启动时检查、Home Assistant 更新实体,以及更新后重新打开 Ava 均默认启用。安装后启动 Ava 核心服务仍为可选,默认禁用。忽略更新和自动更新互斥,因此设备不会同时被配置为安装和忽略同一版本。
Ava 可以使用内置下载器或 Android 系统下载器。在没有 Root、Shizuku 或设备所有者权限时,Android 仍可能显示正常的安装确认。Android 也禁止在新版本上安装旧版本;如需降级,请导出 Ava 配置,卸载当前版本,安装旧版 APK,然后重新导入配置。
感谢 @realroywalker 在 #156 中请求改进更新控制。
路径:Ava 设置 -> 设备服务 -> 软件更新
歌词匹配与同步改进
LRCLIB 现已成为 Ava 的主要歌词来源。请求在 5 秒超时、返回无有效结果或验证失败时,会自动回退到 QQ 音乐;QQ 音乐路径在需要时也会执行一次短重试。
匹配现在更仔细地考虑曲目时长和多艺术家信息,减少了同名不同录音提供错误歌词的情况。已知的纯音乐和无歌词占位符已被过滤,没有艺术家元数据的新曲目不再继承上一曲的艺术家。
来自上游播放器的一两秒微小进度修正现在使用滞回处理,避免歌词窗口在歌词行边界附近来回跳动。而用户主动的大幅跳转仍会立即重新对齐歌词。
麦克风路由与负增益
软件麦克风增益现在支持 -24 dB 到 +24 dB。正值放大安静的输入,负值衰减过响的麦克风或过多拾取背景噪音的麦克风。默认值仍为 0 dB。
录音设备路由现在与 Android 的 AudioSource 模式分开选择。Ava 可选择自动、内置麦克风或 USB 麦克风,当请求的 USB 设备不可用时会有安全回退。相关的 AudioSource 标签和翻译也已澄清。
感谢 @lone-baggie 在 #157 中请求显式 USB 麦克风选择。
路径:Ava 设置 -> 语音配置 -> 麦克风
广播 Intent 兼容性
广播 Intent 启动再次保留结构化字段,如 intent_package_name。Ava 现在将这些字段与广播 URI 合并:URI 中显式包含的值优先,结构化字段仅填充缺失部分。
启动器接受裸 action、带查询参数的 action,或 intent:#Intent URI。同时包含数据 URI 和结构化字段的广播不再落入旧的仅 URI 路径。Home Assistant 和 ESPHome 服务架构仍暴露所有字段;未使用的字段应提供空字符串。
感谢 @pantherale0 在 #155 中报告该回归问题。
媒体浮层暂停恢复
媒体浮层不再卡在暂停状态和空闲计时器之间。在极简模式下且浮动按钮禁用时,暂停播放后 20 秒浮层会淡出。如果 10 秒后上游播放器仍未准备好恢复,Ava 会清除过时的标题和艺术家信息,等待新的元数据,而不是让旧的媒体信息一直卡在屏幕上。
当浮动按钮启用,或使用详细播放器时,原有的 10 秒暂停行为保持不变。恢复播放会取消待执行的清理。
紧凑显示与翻译修复
Mini 启动器在约 480 x 480 的紧凑方形显示屏上保持四按钮布局,不再让控件溢出屏幕。