接着上一章安装完NodeRed,这章尝试一下创建流程,控制HAMPD播放器

1. 安装HA节点

进到NodeRed网页端控制台,打开节点管理

homeassistant手动安装esphome加载项_sed


安装node-red-contrib-home-assistant-websocket

homeassistant手动安装esphome加载项_sed_02


安装完就能在节点那里看到下面这一堆

homeassistant手动安装esphome加载项_时间戳_03

2. 让NodeRed能够访问HA(只配置一次就行了)

  1. HA的网页端生成一个长期访问令牌
  2. homeassistant手动安装esphome加载项_sed_04

  3. 自己随便输入一个令牌名字,我的是NodeRed 创建完后把令牌拷贝下来备用,因为这个令牌只会显示一次。
  4. 随便拖一个HA的节点出来
  5. 双击编辑拖出来的节点
  6. 编辑服务器节点,把HA的URL和刚才生成的令牌填进对应的输入框
  7. 更新节点,然后点右上角的部署,这里记得要部署,否则是还未生效的。

3. 尝试打开MPD播放器1

做完才发现,这条流程要在播放器 非Stop 的状态下才能正常工作。播放器有下面3个状态off、playing、paused后面会再做一条流程,让播放器在 Stop 的状态下也能正常工作

  1. 拖一个用于节点出来,用于触发事件
  2. 拖一个用于调用HA服务的节点
  3. 双击编辑call service节点
  4. 把节点的线条连上,点击部署,记得点击部署,以后编辑完要点击部署才会生效
  5. 点击时间戳节点左边的那个正方形触发流程,播放器能够正常的播放和暂停了吧。

4. 尝试打开MPD播放器2

上面那个例子只能打开 非off 状态的播放器,那只需要改一下,在call service之前拿到播放器的当前状态,根据不同的状态调用不同的服务就好了。首先,要拿到播放器的状态看下是什么样子的。

homeassistant手动安装esphome加载项_服务器_05


双击编辑current state节点,在Entity ID里填入HA里MPD的ID,部署,点击时间戳左边的正方形框框,在调试窗口就可以看到调试信息了。

homeassistant手动安装esphome加载项_时间戳_06


可以看到当前状态是playing,你可以在HA更改播放器的状态,再回来调试,就可以看到其它状态了,继续编辑流程。

homeassistant手动安装esphome加载项_时间戳_07


编辑switch节点

homeassistant手动安装esphome加载项_服务器_08


编辑上面那个call service

homeassistant手动安装esphome加载项_时间戳_09


下面那个call service内容与上一节“尝试打开MPD播放器1”的内容一样,部署,可以了。


上一章:Home Assistant 搭建日志(七)——安装NodeRed