【笔记】通过HA和NodeRed操控小爱音响

前言

通过HA和NodeRed操控小爱音响,获取小爱音箱的输入,执行自定义的程序,实现自定义功能

准备工作

  • 部署HA

传送门

  • 部署NodeRed

传送门

在HA中下载小米插件

  • 下载Xiaomi Miot Auto插件,因为这个插件中包含了获取小爱音箱的输入的conversation接口,用于接收小爱收到的内容

通过HACS下载


  • 开发者工具->重新启动->重新启动 Home Assistant

等待重启完成

手动部署

1
2
3
4
5
6
7
8
wget https://github.com/al-one/hass-xiaomi-miot/releases/download/v0.7.13/xiaomi_miot.zip
mkdir xiaomi_miot
mv xiaomi_miot.zip ./xiaomi_miot/
cd xiaomi_miot
unzip xiaomi_miot.zip
rm xiaomi_miot.zip
cd ..
mv xiaomi_miot /root/Homeassistant/config/custom_components
  • 开发者工具->重新启动->重新启动 Home Assistant

等待重启完成

获取HA的IP地址和令牌

  • 个人中心->创建令牌->指定令牌名称

  • 将令牌内容复制

在NodeRed中下载HA插件和小爱插件

  • 右上角菜单->设置

  • 安装node-red-contrib-home-assistant-websocket插件和node-red-contrib-xiaoai-tts插件
1
2
npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict [email protected]
npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict [email protected]

部署NodeRed

  • 配置一个event:state模块->修改Server配置

  • 指定访问HA的ip地址和端口号->指定令牌->更新

  • Entity搜索conversation选择小爱音箱Pro Play Control conversation->完成

  • 配置一个swatch模块,用于条件判断,当对话中包含指定字符串时向后执行->完成

  • 配置一个小爱ai service模块,用于向小爱发出一条指令,相当于对小爱说了一句指令->编辑配置->输入小米账号密码->添加->配置指令->完成

如果想要听到默认的回复,可以勾选播报结果



  • 配置一个小爱tts模块,用于自定义小爱说的话->配置tts文本->完成

完成

参考文献

哔哩哔哩——一盏电灯