關于hass對接mqtt 請參考官網
https://www.hachina.io/docs/7083.html
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iMkJDNwYWO2gTMmRTNyMjY0UTYyUjN5kTMlNmYkVzYi9CX2AzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLzM3Lc9CX6MHc0RHaiojIsJye.png)
1 登陸運作着hass的阿裡雲伺服器
2 修改hass配置檔案,添加mqtt服務資訊
把這個檔案拷貝到自己的電腦上,修改後重新上傳伺服器
添加以下内容
參考官網 https://www.hachina.io/docs/7211.html
你可以使用Mosquitto的公有雲MQTT伺服器進行測試。如下配置:
參考官網 https://www.hachina.io/docs/7214.html
主題位置(topic)
主題位置表明雙方在哪裡進行通訊。
比如,一盞燈的指令主題(command_topic),表示HomeAssistant會将開關指令發送到這兒,而燈會到這兒讀取指令進行開關操作;比如,一個溫度計的狀态主題(state_topic),表示溫度計會将溫度值發送到這兒,HomeAssistant會從這兒讀取溫度展現在前端。
一個裝置可能包含多個主題位置。例如,溫濕度傳感器的溫度和濕度可以分在兩個主題位置,燈的狀态和控制指令一般也會分在不同的主題位置。
資訊内容(payload)
資訊内容表示雙方用什麼資訊代表什麼含義。
比如,開關燈指令,可以是”ON/OFF”,也可以是”on/off”,”true/false”,”1/0″……
HomeAssistant配置項中payload_XXXX代表對資訊内容的配置。
被控端(燈)将狀态釋出到主題“<code>hachina/hardware/led01/state</code>”中,控制端(HomeAssistant)訂閱這個主題,用于目前狀态顯示;
控制端(Home Assistant)将控制指令釋出到主題“<code>hachina/hardware/led01/switch</code>”中,被控端(燈)訂閱這個主題,根據其内容進行實際的開關動作。
雙方以”on”代表開,以”off”代表關。
3重新開機 hass
4 登陸控制台,發現多了個燈裝置
5 點選按鈕,在對應話題會收到" on "
在hass點選一下開關,開關打開
手機調試軟體訂閱話題,模拟自己是個燈監聽
但是馬上hass界面端的按鈕又回到關閉狀态,為什麼?
因為手機隻是監聽,沒有往狀态話題釋出消息--on, 這樣hass沒有得到燈的回報,誤以為它沒開,而自動把開關展示狀态顯示為關。
需要在硬體esp8266中寫程式,每次收到 開燈指令,對應傳回 開的狀态。