官网:https://www.home-assistant.io/components/fan.mqtt/
1 添加配置文件
要在安装中启用MQTT风扇,请将以下内容添加到您的configuration.yaml
文件中:
手动模式
# Example configuration.yaml entry fan: - platform: mqtt name: "Bedroom Fan" state_topic: "bedroom_fan/on/state" command_topic: "bedroom_fan/on/set" oscillation_state_topic: "bedroom_fan/oscillation/state" oscillation_command_topic: "bedroom_fan/oscillation/set" speed_state_topic: "bedroom_fan/speed/state" speed_command_topic: "bedroom_fan/speed/set" qos: 0 payload_on: "true" payload_off: "false" payload_oscillation_on: "true" payload_oscillation_off: "false" payload_low_speed: "low" payload_medium_speed: "medium" payload_high_speed: "high" speeds: - low - medium - high
添加后重启hass生效。
自动模式
将上述配置信息打包成 json包,发送给 配置话题,hass自动发现
- esp8266硬件受限制于mqtt库发送数据包有长度限制,没法一次性发送完。
- 可以用手机或电脑调试助手MQTT调试助手发送这个配置信息,他们能够发送的更长。
2 具体操作
登陆服务器
找到配置文件
添加风扇的信息
保存。
重启hass
hass开在某一个screen里面
找到这个背后screen,然后进去就是hass运行的命令窗口
连着三次 ctrl + c 关闭,重启
正常运行后,打开网页
http://www.dongvdong.top:8123/states
输入hass密码
发现多了个风扇设备。
3HASS调试
手机mqtt调试助手---模拟风扇
分别订阅风扇的所有命令话题--看看不同的命令收到什么消息
点击打开
发现收到 true
但是风扇并没有因为网页按钮打开就开了,我们发现这个按钮马上自动回到关闭状态,它必须是风扇设备本身往状态话题里发送 我开了,网页才会更新风扇是开的状态。
利用手机状态话题 发送一个开的命令
然后看到网页开关自动更新为 开
在开着的状态下电机风扇,出现更多控制界面
这些按键都按一遍--
三个挡位的速度
摇头开启
这么多话题,不如全部搞到一个话题里。
三个挡位命令不冲突,但是开关和摇头都是 true ,放在一个话题容易误判。
当然可以修改配置文件,不用的命令
挡位只有三个,能不能更多,我们来看下参数说明,寻找下
官网说明: https://www.home-assistant.io/components/fan.mqtt/
开和关
command_topic
(字符串)(必需)要发布更改扇区状态的命令的MQTT主题。
(字符串)(可选)订阅MQTT主题以接收状态更新。
摇头功能
oscillation_state_topic
(字符串)(可选)订阅MQTT主题以接收振荡状态更新。
(字符串)(可选)用于发布更改振荡状态的命令的MQTT主题。
速度挡位
speed_state_topic
(字符串)(可选)订阅MQTT主题以接收速度状态更新。
(字符串)(可选)用于发布命令以更改速度状态的MQTT主题。
具体挡位--貌似就三个挡位
payload_low_speed
(字符串)(可选)表示风扇低速的有效负载。
默认值:低
(字符串)(可选)表示风扇中速的有效负载。
默认值:中等
(字符串)(可选)表示风扇高速的有效负载。
默认值:高
下面这个不知道是干啥的
(字符串)(可选)定义模板以从速度有效负载中提取值。
4 天猫精灵控制
上一步我们已经在hass上随意控制风扇了,现在接入天猫精灵语音控制。
1添加hass已有设备到天猫精灵中。