本帖最后由 Yonsm 于 2021-3-7 13:50 编辑
安装:把 zhibot 放入 custom_components ;也支持在 HACS 中添加自定义库的方式安装。
提示:如果只用了单个平台,可以把未使用的平台文件删除,如只用了天猫精灵,可以删除掉 dingbot.py 和 miaibot.py 。
配置:参见下文。也可以参考 我的 Home Assistant 配置 中 configuration.yaml
一次性接入 Home Assistant 的大部分设备到天猫精灵,通过天猫精灵语音控制开关设备、查询传感器。无需第三方服务器,直接使用 Home Assistant 作为服务器和 OAuth,链路高效。
1. Home Assistant 配置
zhibot:
- platform: genie
无需配置 token ,会修正 HA 的 OAuth 认证方式延长认证有效期(借鉴来的套路,参见 oauthbot,我也没搞明白)。
2. 天猫精灵开放平台设置
1). 登录 天猫精灵开放平台,进入 设备开发与接入 → 生活物联网平台 → 云云接入 → 技能开发 → 添加新技能 。
2). 服务设置如下:
- 网关 URL:
https://xxx.xxx.xxx:8123//geniebot
- Client ID:
https://open.bot.tmall.com
- Client Secret:
NA
- Authorization URL:
https://xxx.xxx.xxx:8123/auth/authorize
- Access Token URL:
https://xxx.xxx.xxx:8123/auth/token
3). 内容设置 → 技能发布 → 发布前验证 → 授权调试 → 账户配置 → 输入 HA 账户密码 → 可看到你的设备列表。
天猫精灵开放平台已升级为 2.0,这里有 旧版本配置图示 但已不相同,仅供参考。
3. 使用方式
直接通过天猫精灵语音控制 HA 设备,如“天猫精灵,打开客厅灯”,也可以查询传感器,如“天猫精灵,阳台传感器 PM2.5”。
4. 更多定制
天猫精灵查询 HA 时,重要的三个参数需符合规范,否则天猫精灵理解不了:
geniebot.py 会尝试从 HA 配置信息中,根据规则尝试自动转换成天猫精灵匹配的名称和类型。但有些可能匹配不成功,此时可以在 customize.yaml 中,定制天猫精灵能识别的区域、名称和类型,如:
genie_zone: 客厅
genie_deviceName: 吸顶灯
genie_deviceType: outlet
其中 genie_zone 可以配置给单个设备,也可以配置高分组(将应用到分组下的所有设备)。
建议:把设备分组,分组名从符合 placelist 规范;设备名符合 aliaslist 规范。这样全部会自动搞定,基本不用手动配置。
5. 参考
以下为天猫精灵开放平台旧版本配置界面,现已升级为 2.0,不同,仅供参考。
|