官網: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生效。
網友的設置,可參考
fan: - platform: mqtt name: "fengshan2" state_topic: "home/fengshan/2/stat" command_topic: "home/fengshan/2" oscillation_state_topic: "home/fengshan/2/stat" oscillation_command_topic: "home/fengshan2" speed_state_topic: "home/fengshan/2/stat" speed_command_topic: "home/fengshan/2" retain: false qos: 0 payload_on: "1" payload_off: "0" payload_low_speed: "1" payload_medium_speed: "2" payload_high_speed: "3" payload_oscillation_on: "4" payload_oscillation_off: "5" speeds: - low - medium - high
自動模式
將上述配置信息打包成 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已有設備到天貓精靈中。
登陸 https://bbs.hassbian.com/tmall/information.php
首先看到之前添加的設備,有的已經在hass中沒有了,但是貓精這里必須手動刪除,不會自動跟隨消失。
增加--真實設備
這個列表只會出現hass上正存在的設備。(有的esp8266是自動配置的,必須在hass正常運行給hass發送一次自己的配置信息,hass重啟后就沒有了,需要重發)
凡是和風扇相關的屬性都選擇
添加
打開天貓精靈手機APP,發現多了個設備
點開后,按照常理,應該有教程信息
比如 請說打開風扇
將卧室的風扇調為慢速模式
。。。。
但是空白的,不管了
6語音調試
由於沒有顯示提示語,半天找不到怎么設置風速
論壇網友: https://bbs.hassbian.com/forum.php?mod=viewthread&tid=502&highlight=%E9%A3%8E%E6%89%87
演示視頻:http://www.le.com/ptv/vplay/30322261.html
他在視頻中使用的是 蘋果siri
hey siri 將卧室的風扇設置為 50%
我按照類似說法,天貓精靈就是沒反應。
看了下面總說明,目前hass論壇 僅支持打開和關閉,風扇的搖頭和速度沒添加。
燈倒是支持 開關 亮度 顏色
接入總說明:
https://bbs.hassbian.com/thread-2914-1-1.html
-----------------------------------------------------------------論壇內容-------------------------------------------------------------------------
- 目前支持HomeAssistant里以switch、light、media_player、fan、cover 前綴設備的打開、關閉和他們電源狀態查詢,燈光顏色亮度(‘把燈的亮度調到80’,最大100)調節。
- sensor 溫濕度傳感器的查詢(要求傳感器id里必須包含 temperature、humidity、pm25的關鍵字),其他傳感器天貓官方還未支持。
- deviceId請直接在列表里勾選
- deviceType按你實際控制的東西在列表中選擇
- deviceName請跟deviceType保持一致
- 最開始配置的hass公網地址時 一定要帶 http:// "http://你的域名:端口號"
特殊控制說明
操作action
設置顏色 SetColor 命令:把(客廳)的(落地燈)調成(白色)
設置亮度 SetBrightness 命令:把(客廳)的(吸頂燈)亮度調到(80)【范圍0-100】
打開 TurnOn
關閉 TurnOff
查詢action
Query
QueryPowerState (客廳)的(吸頂燈)開着呢嘛?
QueryPm2.5 (客廳)的(傳感器)的(PM2.5)是多少?
QueryHumidity (客廳)的(傳感器)的(濕度)是多少?
QueryTemperature (客廳)的(傳感器)的(溫度)是多少?
QueryIllumination (客廳)的(傳感器)的(亮度)是多少?
-----------------------------------------------------------------論壇內容-------------------------------------------------------------------------