


大多数集成都让手机充当中间人:手机听到指令,手机发送指令,自动化只有在手机处于唤醒状态并联网时才能工作。
AVR Maestro 不这样做。它会把你的场景编译成存放在中枢上的脚本,由中枢向接收机的本地 IP 发送指令。同步完成后,应用的任务就结束了。
http://192.168.1.150:8123 的本地地址,也可以是你的外部 Nabu Casa URL。Home Assistant 现在为接收机能接受的每项指令都提供了一个控制项,但对如何排列它们毫无主张。仪表盘示例就是其中一种排列,并附有完整的 YAML:当前生效时会点亮的输入源和环绕声磁贴、以真实 dB 显示的音量、读取自己名称的场景,以及一份如实说明 Home Assistant 能看到什么、看不到什么的清单。
开启同步高级控制后,应用发布的脚本远不止场景:每个扬声器预设、每个 Dirac Live 滤波器插槽、每条 Audyssey 曲线都会发布。在 Cinema 30 上完整同步会生成七十多个脚本,因此仪表盘按钮或语音指令可以像调用场景一样加载 Dirac 滤波器或切换房间曲线。
脚本只能运行,不能读取,所以早期的仪表盘可以切换 Audyssey 曲线或 Dirac 插槽,却无法显示当前是哪一个。应用已掌握的读数,包括实时环绕声模式、当前的 Dirac 滤波器、扬声器预设、调光以及另外几十项,现在都会作为属性发布到接收机的状态传感器上,因此磁贴可以为真正在运行的设置点亮。
分区 2 和分区 3 的电源、音量和静音会发布为各自独立的脚本,因此露台或另一个房间也能像主分区一样响应仪表盘或语音助手。只有接收机实际报告的分区才会有按钮,所以双分区的接收机不会凭空多出一个分区 3。
脚本过去以场景和接收机来命名,因此重命名其中任何一个,都会留下旧脚本并悄悄创建出第二个。现在它们以场景和接收机的 MAC 地址命名,正是这一点让重命名能更新原有脚本,而不是另起一个。
这次变更之后的首次同步会用新脚本替换旧脚本。凡是基于旧 ID 搭建的内容,都需要重新指向一次,例如仪表盘按钮、自动化和语音别名。请在 Home Assistant 中打开该脚本,查看它的新实体 ID。
实体现在也以接收机命名,形如 cinema30,而不再是三十二个字符的机器标识符,所以列表清晰易读,自动补全也能找到它们。早期版本的 ID 仍可继续使用。
Hubitat 通过其 Maker API 获得支持,在应用中标记为 BETA,是因为它比 Home Assistant 方案更新,而不是因为尚未完成。
请先在中枢上启用 Maker API(应用 › 添加内置应用 › Maker API),它会给你这三项信息。粘贴进来后,AVR Maestro 会发现你的接收机,把你的场景发布为命令序列,并回传实时状态,这样 Hubitat 仪表盘反映的就是接收机实际正在做的事,而不是它上一次被告知的内容。
Home Assistant 和 Hubitat 是把指令发给接收机。Webhook 则反方向工作:接收机一有动作,就通知其他任何东西。打开接收机,AVR Maestro 就会向你选定的地址发送一条小消息,这条消息就是 Webhook。


| 触发事件 | 触发时机 | 可限定为 |
|---|---|---|
| 接收机开机 | 接收机退出待机 | - |
| 接收机关机 | 接收机进入待机 | - |
| 输入源变更 | 所选输入源发生变化 | 单个输入源,位于仅针对此输入源触发下 |
| 场景已调用 | 某个场景被应用 | 单个场景,位于选择场景下 |
限定条件才能让它们有用而不是吵闹。对每个输入源都启用“输入源变更”就像消防水龙头;而把同一个触发器限定在投影仪所接的那一个输入源上,它就是一个电灯开关。
输入源列表就是你自己的接收机所报告的那一份,因此已经反映了你重命名或隐藏过的输入源。场景列表则是你自己的场景。
这是 Home Assistant 方案,也是大多数人想要的。请先完成 Home Assistant 这一半,应用需要有个目标可以指向。
avr-power-on、avr-movie-night。只要在你的 Home Assistant 上唯一,任何名称都可以。把它记下来,你要在 AVR Maestro 中输入同一个。Sends to http://your-ha:8123/api/webhook/avr-power-on,方便你在保存前核对。把发送目的地切换为其他,并将完整 URL 粘贴到 Webhook URL。任何能接收 POST 的东西都可以:Node-RED 流程、IFTTT 小程序、NAS 上的脚本、Hubitat Maker API 端点。这种方式会原样保存你输入的地址,所以如果目的地变了,你需要编辑触发器。
一个小型 JSON 正文。同一界面上的发送内容卡片会针对你选的触发器用通俗的语言说明,所以你无需猜测。下面是你的自动化会读取的字段名称:
| 触发器 | 消息中的字段 |
|---|---|
| 接收机开机 / 关机 | event, timestamp |
| 输入源变更 | …另外还有 source |
| 场景已调用 | …另外还有 sceneId 和 sceneName |
在 Home Assistant 自动化中,这些字段会以 {{ trigger.json.event }}、{{ trigger.json.source }} 等形式到达。你可以读取它们,也可以完全忽略,只对“已触发”这件事作出响应。大多数人选择后者。
如果你需要不同的格式,比如某个服务要求自己的格式,请打开该卡片下方的改为发送我自己的 JSON,在那里编写。它被折叠起来并标记为高级,是因为几乎没有人需要它,而不是因为不鼓励使用。
按值得检查的顺序排列,因为前两项几乎总是原因所在:
家庭自动化(专业版),包括 Home Assistant、Hubitat 和出站 Webhook,是一次性解锁。AVR Maestro 中的其他所有功能,包括设备端 AI 助手,都已包含在应用内。
语音控制是通过家庭自动化,经由你的中枢来控制接收机的。AVR Maestro 本身不运行语音识别。