简短回答
可以。AmazHA 是一款面向 Amazfit 手表的 Home Assistant 应用,可在 25 款 Zepp OS 手表上运行,让你在手腕上控制灯、空调、窗帘、门锁、媒体、场景等。Zepp OS 上没有官方的 Home Assistant 应用。手表通过 Bluetooth 与手机通信,手机再与 Home Assistant 通信;在家时,它只需要你的本地地址。
| 一览 | |
|---|---|
| 手表 | 25 款搭载 Zepp OS 的 Amazfit 手表,方形和圆形 |
| 设备类型 | 17 种,每种都有专属控制界面 |
| 连接方式 | 手表 ↔ 手机走 Bluetooth,手机 ↔ Home Assistant 走 HTTP |
| 地址 | 在家用本地 URL,离家时可选远程 URL |
| 令牌 | 管理员的长期访问令牌,保存在手机上 |
| 刷新 | 应用打开期间每 8 秒一次 |
| 手表上的设备 | 最多 100 个;几十个时能保持流畅 |
| 表盘小组件 | 最多四个设备 |
| 手表数据发往 Home Assistant | 18 个可选传感器,通过 Mobile App 集成 |
| 收费方式 | 免费演示,之后一次性解锁,无订阅 |
Zepp OS 手表如何与 Home Assistant 通信
手表本身从不直接与 Home Assistant 通信:这件事由你的手机完成。Zepp OS 手表应用无法发起网络请求,所以 AmazHA 由两部分组成。一部分运行在手表上,负责绘制界面;另一部分运行在手机上的 Zepp 应用里,它是唯一与你的 Home Assistant 服务器对话的部分。
手表 ↔ 手机走 Bluetooth,手机 ↔ Home Assistant 走 HTTP
当你在手表上打开一个房间时,手表会通过 Bluetooth 向手机请求数据。手机使用你的地址和令牌调用 Home Assistant 的 REST API,把返回结果精简成手表需要的内容,再发回手表。当你点按一盏灯时,同一条路径反向运行:手表告诉手机,手机在 Home Assistant 中调用相应的服务。
这种设计带来两个结果:
- 只有你选择的内容才会到达手表。 手机只加载你在设置中开启的设备,其他一概不加载,这让 Bluetooth 流量保持在很低的水平。
- 手表界面与数据来源无关。 免费演示和你真实的家使用相同的界面,变的只是数据来源。
哪些内容永远不会到达手表
你的 Home Assistant 地址和长期访问令牌都留在手机上。手表收到的只有设备名称、状态和它要显示的数值,仅此而已。令牌只会发送到你的 Home Assistant 服务器;保存之后,手机设置中显示的是圆点,而不是令牌本身。AmazHA 没有账户、没有统计分析,也没有任何开发者服务器存储关于你或你家的信息。
为什么手机必须在附近,而手表不需要 Wi-Fi
手表经由手机访问 Home Assistant,所以手机必须在 Bluetooth 范围内,开启 Bluetooth,并让 Zepp 应用在后台运行。手表本身不需要 Wi-Fi,也不需要移动数据:通往手机的 Bluetooth 是它唯一的连接。
而手机则需要能访问你的服务器。在家时靠的是你的局域网;离家时需要一个远程地址。如果你从不在家以外使用手表,就永远不需要它。
本地优先,离家时用远程
你可以填写两个地址:本地 URL (LAN),例如 http://192.168.1.50:8123(示例),以及外出时使用的远程 URL。两栏中任意一栏都可以留空。两个都填写后,AmazHA 会优先使用本地地址,本地地址没有响应时自动切换到远程地址。一个令牌同时适用于两者。远程访问一文比较了 Home Assistant Cloud、VPN 和自有域名这几种方案。
在手腕上能控制什么
AmazHA 支持 Home Assistant 中的 17 种设备类型,每种都有自己的控制界面。主屏幕按 Home Assistant 中的名称显示你的区域;房间里的设备按类型分组;点按磁贴即可打开完整控制。灯、开关和风扇的磁贴上直接带有开关,场景、脚本、自动化和按钮也可以直接在磁贴上运行。
| 设备类型 | Home Assistant 域 | 手表界面的功能 |
|---|---|---|
| 灯 | light |
亮度滑块;转动表冠以 4% 为单位调节。不能调光的灯显示简单的开/关圆盘 |
| 开关 | switch |
一个大大的开/关控件 |
| 风扇 | fan |
风速滑块和电源按钮;没有风速设置的风扇只有开/关控件 |
| 空调 | climate |
在圆盘上设定目标温度,表冠每转一格调半度;关闭、制热、制冷和自动模式 |
| 窗帘 | cover |
打开、停止、关闭;窗帘支持位置时,还有位置滑块和表冠调节 |
| 门锁 | lock |
点一下即可上锁;解锁需要再点一下确认 |
| 安防 | alarm_control_panel |
以面板支持的模式布防(在家、离家);撤防时在键盘上输入你的密码 |
| 媒体 | media_player |
播放、暂停、上一首、下一首、音量滑块(用表冠调节音量)和电源,前提是播放器支持这些功能 |
| 扫地机器人 | vacuum |
启动、暂停、停止,以及让它返回充电座 |
| 场景 | scene |
点一下即可运行 |
| 脚本 | script |
点一下即可运行 |
| 自动化 | automation |
点一下即可触发 |
| 按钮 | button、input_button |
点一下即可按下 |
| 选择器 | select、input_select |
选项列表;点按一项即可选中 |
| 传感器 | sensor |
以大字显示当前数值;没有类别的传感器以文本显示(例如信箱状态、垃圾收运日) |
| 摄像头 | camera |
由手机获取的静态图像,带有刷新和实时 |
| 追踪器 | device_tracker、person |
只读:在家、离家或所在区域,以及 Home Assistant 提供的最后更新时间和电量 |
传感器会按适合在手表上显示的类别进行筛选:温度、湿度、功率、能耗、电量、空气质量、照度、气压等。信号强度、电压等诊断类传感器以及时间戳会被有意排除。
操作采用乐观更新:点按的一瞬间磁贴就会切换,调用在后台发送给 Home Assistant;如果 Home Assistant 的实际状态与之不符,下一次刷新会纠正界面。
哪些手表可以用
AmazHA 可在 25 款搭载 Zepp OS 的 Amazfit 手表上运行,针对方形和圆形屏幕分别布局。在圆形手表上,标题居中,列表铺满整个表面。
| 形状 | 型号 |
|---|---|
| 方形 | Active、Active 2、Bip 6、Bip Max、Cheetah Square、GTS 4 |
| 圆形 | Active 2、Active 2 Golf、Active 3 Premium、Active Max、Balance、Balance 2、Balance 2 XT、Balance 3、Balance 3 Ti、Balance Ultra、Cheetah 2 Pro、Cheetah 2 Ultra、Cheetah Pro、Cheetah Round、Falcon、GTR 4、T-Rex 3、T-Rex 3 Pro、T-Rex Ultra、T-Rex Ultra 2 |
有三款手表是有意排除的:Active Edge 和 Bip 5 的屏幕对这套布局来说太小,T-Rex 2 的内存不够。API 级别低于 3.0 的较早 Zepp OS 机型不在支持范围内。如需逐款的“能”或“不能”,请看哪些 Amazfit 手表能用 Home Assistant。
最快的检查方法就是商店本身:在 Zepp 应用中打开 App Store,搜索 AmazHA。如果你的手表已配对且受支持,就可以安装并体验演示。
开始之前需要准备什么
你需要四样东西:手机能访问的 Home Assistant 服务器、管理员的长期访问令牌、Zepp 应用,以及已与它配对的手表。
| 条件 | 原因 |
|---|---|
| 手机能访问 Home Assistant | 所有请求都由手机发出。在家时,本地地址就足够 |
| 管理员创建的长期访问令牌 | AmazHA 通过模板 API 读取你的区域,而 Home Assistant 只允许管理员使用它 |
| Android 或 iPhone 上的 Zepp 应用 | AmazHA 的设置和它的手机端都在其中 |
| 受支持且已通过 Bluetooth 配对的手表 | 手表访问手机的方式与 Zepp 应用相同 |
要控制你的设备,不需要在 Home Assistant 中安装任何东西:AmazHA 使用的是每台 Home Assistant 服务器都有的 REST API。令牌在 Home Assistant 的用户资料中创建,位于安全选项卡;长期访问令牌一文讲解了具体步骤,以及为什么普通用户的令牌不够用。
六步完成设置
整个设置只需几分钟,前两步完全免费。每一步都有对应的短视频教程。
1. 安装 AmazHA
在手机上的 Zepp 应用中打开 App Store,点按搜索图标,输入 AmazHA。打开 AmazHA — Home Assistant Companion App,点按安装:它会直接安装到你的手表上。然后在手表上打开应用列表,点按 AmazHA。(安装 AmazHA)
2. 体验演示
AmazHA 一打开就是一个有房间、有设备的演示家庭。每个界面都使用示例数据运行,没有时间限制:打开房间、拨动开关、在灯的界面上转动表冠。在付费之前,这是了解它在你自己手表上用起来感觉如何的最实在的方法。(手表上的基本操作)
3. 一次性解锁
在手表上,点按主屏幕顶部橙色的演示模式 · 未授权横幅,手表会显示一个 5 位代码。在手机的浏览器中打开 kzl.io/code,输入代码,点按 Continue 并完成付款。手表会显示 Purchase Successful!,然后自动回到应用。下文有更多说明。(解锁完整版)
4. 连接 Home Assistant
在 Zepp 应用中进入我的 › 你的手表 › 应用 › AmazHA › 设置,点按 Home Assistant。填写本地 URL (LAN);如果想在离家时使用手表,再填写远程 URL。把令牌粘贴到长期访问令牌中,点按连接。只填一个地址时,结果显示已连接;两个都填时,会分别显示 LAN 和远程两项。(连接 Home Assistant,第 4 步起)
5. 选择你的设备
在 AmazHA 设置中点按设备。你的房间都在这里,所有设备默认隐藏:打开一个房间,开启你要用的设备。在很长的列表里,例如其他(没有房间的设备都在这里),有一个搜索框;全部显示和全部隐藏只作用于匹配的设备。人员和手机有自己的区域:追踪器。(选择你的设备)
6. 在手表上打开 AmazHA
你的房间和设备会出现在手表上。从此以后,手表一启动就会立即显示你上次的数据,并在应用打开期间从 Home Assistant 刷新。
随心定制
所有改变手表外观的设置都在手机上完成,手表会从那里同步。
收藏,以及将收藏设为主页
在设备 › 收藏中,开启在手表上显示,然后从任意房间挑选任意设备,即使它在所在的房间里没有被启用。重新排序收藏用于调整顺序。之后,收藏会出现在手表主屏幕的第一位。开启将收藏设为主页后,手表主屏幕就只剩这个列表,并且只加载这些设备;关闭此项后,各个区域会重新出现。(收藏与能源,第 4 步)
能源面板
在设备 › 能源中,开启显示能源面板,为你有的每个角色选择一个传感器,例如电网功率(带符号)、太阳能、电池,以及今日用电量和费用。这里只会列出适合该角色的传感器。手表主屏幕会多出一个能源区域:最先显示此刻的电网功率(正在从电网取电还是向电网送电),然后是太阳能、电池和今日累计。(收藏与能源)
主屏幕标签、房间顺序和房间图标
在外观 › 主屏幕标签下,主屏幕顶部的三个标签各自可以统计灯、开关、窗帘、空调、媒体、门锁、摄像头或追踪器的数量,也可以显示警报、你的能源数据,或者留空。主页布局用于设置区域的顺序,点按房间的图标可以换一个。在设备中,有温度或湿度传感器的房间可以让你选择由哪个传感器提供该房间的角标数据,这样某个设备的内部读数就不会盖过房间传感器。(随心定制)
自定义名称
Home Assistant 里的长名称很难放进手表磁贴。在设备中,手表显示的每个设备名称后面都有一支铅笔:点按名称,在手表上的名称中输入新名称,最多 32 个字符。手表的每个界面和小组件都会使用它,而 Home Assistant 保留自己的名称。恢复原始名称可以改回去。这些名称保存在手机上,重置缓存后也不会丢失。(自定义名称与小组件)
文字大小、卡片大小、振动和屏幕超时
在偏好设置中:
- 字体大小会放大手表上的所有文字:110%、120% 或 130%。下次在手表上打开 AmazHA 时生效。
- 卡片大小会放大主屏幕上的区域卡片和设备磁贴:115%、130% 或 145%。
- 操作时振动会在你点按设备、运行操作或在控制界面上转动表冠时短促地振动一下。默认关闭。
- 屏幕超时决定 AmazHA 打开期间屏幕保持点亮的时长:30 秒、1 分钟、5 分钟或从不(默认)。选择“从不”时,连放下手腕也不会熄屏:很方便,但更耗电。
手表的语言跟随它自己的系统语言;设置中的语言只改变设置页面的语言。(偏好设置)
表盘上的小组件
小组件能把最多四个设备放到手表的快捷卡片上,无需打开应用,一点即用。它属于完整版;在免费版中,它会提示你解锁。
设置方法:在手机设置中打开设备 › 手表小组件,按你想要的顺序点按最多四个设备:从左到右,从上到下。然后在手表上,从表盘向右滑动到快捷卡片,点按编辑并添加 AmazHA。在你打开一次应用之前,小组件会显示打开 AmazHA;之后,你的设备就会出现在上面。(自定义名称与小组件,第 4 步)
点按小组件的效果取决于设备:
| 小组件上的设备 | 点按一下 |
|---|---|
| 灯、开关、风扇 | 开启或关闭;小组件显示新状态 |
| 场景、脚本、按钮、自动化 | 直接运行 |
| 其他设备(门锁、窗帘、传感器、摄像头) | 在 AmazHA 中打开它的专属界面,门锁仍会要求你确认 |
如果某条指令没有成功,界面会说明原因,并提供重试和打开 AmazHA;重试绝不会把同一个操作执行两次。小组件的标题栏始终显示状态是多久之前的,例如 AmazHA · 1分钟前。手表离线时,或者状态已有 12 小时之久时,小组件会变灰,这时点按它会打开应用,把数据更新到最新。在手机上做的更改,会在你下次打开 AmazHA 时同步到小组件。
一点实用提示:在较新的手表上,如果在小组件位于表盘上时安装 AmazHA 更新,旧版本的一部分会继续运行,直到手表重启。在你重启之前,主屏幕会显示请重启手表。
你的手表数据进入 Home Assistant
AmazHA 也能反过来工作:它可以把手表的 18 项读数作为传感器实体发送到 Home Assistant。这些数据通过 Home Assistant 自己的 Mobile App 集成到达,表现为一个带有多个传感器的设备,实体命名为 sensor.<prefix>_<key>。
读数涵盖活动(步数、距离、卡路里、站立小时数、高强度运动分钟数、PAI)、健康(心率、静息心率、血氧、压力、体温、睡眠评分、睡眠时长、睡眠状态)、环境(气压、海拔)和设备(手表电量、佩戴状态)。它们默认全部关闭,你只需在手表传感器 › 发送到 Home Assistant 下开启想要的那些。
每次打开 AmazHA 时,手表都会发送数据。如果希望在应用关闭时也能更新,请设置更新间隔(1 到 6 分钟),并在手表请求时允许后台活动;每次更新时手机都需要在附近。在 Home Assistant 中,你可以在设置 › 设备与服务 › Mobile App 下找到手表。手表传感器一文有完整的表格和自动化示例。(手表传感器)
值得了解的限制
一款经由手机工作的手表应用,在设计上就有一些限制,最好在购买前了解清楚。
| 限制 | 实际意味着什么 |
|---|---|
| 手机必须在附近 | 与手机没有 Bluetooth 连接,就无法控制。手表会显示离线 · 手机没有响应 |
| 状态只在应用打开时刷新 | 每 8 秒一次,所以在别处做的更改几秒内就会显示出来。应用关闭时不会刷新 |
| Home Assistant 无法主动推送 | 是手表去查询状态;Home Assistant 无法通过 AmazHA 向手表发送通知或更新 |
| 最多 100 个设备 | 几十个时能保持流畅。设备页面建议每个区域不超过 40 个:在部分手表上,一个区域有 70 个或更多设备可能耗尽内存并导致黑屏 |
| 离家需要远程地址 | 只有当你想在外面使用时才需要;本地地址足以覆盖家里 |
| 后台传感器更新 | 需要后台活动权限,且手机在范围内;否则手表会在你打开应用时发送数据 |
| 仅限 Zepp OS | Wear OS 版本正在开发中,尚无发布日期 |
前两行解释了大多数意外情况。如果你把手机留在另一个房间,走出了 Bluetooth 范围,手表会继续显示你上次的数据,但无法做任何更改。如果某盏灯在 AmazHA 关闭期间发生了变化,手表会在你下次打开时显示新状态。
出问题时怎么办
当某项功能不正常时,手表会告诉你问题是什么,每条提示都有一个常见原因。下表与出问题时怎么办教程一致,该教程为每条提示都安排了一个步骤。
| 手表显示 | 原因 | 解决方法 |
|---|---|---|
| 未选择任何设备 | 所有设备默认隐藏 | 在 AmazHA 设置的设备中开启你想要的设备(第 1 步) |
| 离线 · 手机没有响应 | 手表连不上你的手机 | 让手机留在附近,开启 Bluetooth,并保持 Zepp 应用运行(第 2 步) |
| 离线 · 无法连接 Home Assistant | 手机连不上 Home Assistant | 在手机的浏览器中打开你的地址:它必须在手机所在的地方能打开;离家时还需要带有效证书的 HTTPS(第 3 步) |
| 地址不对 | 该地址有响应,但不是 Home Assistant 的 API | 只填服务器地址,后面不要加任何内容(不要加 /lovelace)(第 4 步) |
| 需要管理员令牌 | 令牌属于一个没有管理员权限的用户 | 以管理员身份新建一个长期访问令牌,再粘贴进去(第 5 步) |
| 请检查令牌 | 令牌中有一个正常令牌里不会出现的字符,通常是因为复制时被截断了(…) | 重新完整复制令牌,再粘贴进去(第 6 步) |
| 手表变慢或重启 | 设备太多 | 精简选择:几十个设备能保持流畅,上限是 100 个(第 7 步) |
| 演示模式 · 未授权 | 应用尚未解锁 | 点按横幅进行解锁(解锁完整版) |
| 演示模式 · 请在手机应用中设置 HA 服务器 | 已解锁,但还没有设置服务器 | 在设置的 Home Assistant 下填写地址和令牌(连接 Home Assistant) |
| 请重启手表 | 在小组件位于表盘上时安装了更新 | 重启手表 |
在离线横幅下,手表还会显示每 8 秒重试,所以原因消除后你无需做任何事;下方还有一行小代码,能让技术支持准确知道是哪里出了问题。拍一张手表的照片发过来,是最有用的。
如果列表中没有符合的情况,请打开偏好设置,点按重置缓存,再点按再次点按以确认。这会清除手表和手机上的缓存数据,同时保留你的连接、设备和许可证;然后在手表上重新打开 AmazHA(第 8 步)。如果这样还不行,设置中的支持与反馈表单会连同你的留言一起发送一份报告。报告绝不会包含你的 Home Assistant 地址、令牌或设备名称。
一个实例:测试通过,手表却是空的
第一天常见的反馈是:连接显示绿色,但手表上什么都没有。几乎所有情况都可以归结为两个原因。要么还没有开启任何设备,手表显示未选择任何设备;要么令牌属于一个不是管理员的用户,手表显示需要管理员令牌。第二种情况常让人意外,因为连接测试能成功读取状态;Home Assistant 拒绝普通用户的,是通过模板 API 进行的区域查询。以管理员身份登录后新建一个令牌,就能解决。
解锁完整版
解锁是在手表上发起、通过 KiezelPay 完成的一次性付款:无需账户、无订阅、无广告。它让 AmazHA 连接你自己的 Home Assistant(本地和远程),并启用手表传感器和小组件。在此之前,应用是一个使用示例数据的演示,不会访问任何真实服务器。
- 在手表上,点按橙色的演示模式 · 未授权横幅。手表会显示一个 5 位代码。
- 在手机的浏览器中打开 kzl.io/code。
- 输入代码,点按 Continue。
- 一次性付款,可用银行卡或 PayPal。这是终身许可。
- 手表显示 Purchase Successful!,然后自动回到应用。