天天看點

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

關于hass對接mqtt 請參考官網

https://www.hachina.io/docs/7083.html

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

1 登陸運作着hass的阿裡雲伺服器

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

2 修改hass配置檔案,添加mqtt服務資訊

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

 把這個檔案拷貝到自己的電腦上,修改後重新上傳伺服器

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

 添加以下内容

參考官網 https://www.hachina.io/docs/7211.html

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

你可以使用Mosquitto的公有雲MQTT伺服器進行測試。如下配置:

參考官網 https://www.hachina.io/docs/7214.html

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置
(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

主題位置(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”代表關。

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

 3重新開機 hass

4 登陸控制台,發現多了個燈裝置

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

5 點選按鈕,在對應話題會收到" on "

在hass點選一下開關,開關打開

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

手機調試軟體訂閱話題,模拟自己是個燈監聽

(二 -1) 天貓精靈接入Home Assistant-控制Mqtt裝置

但是馬上hass界面端的按鈕又回到關閉狀态,為什麼?

因為手機隻是監聽,沒有往狀态話題釋出消息--on, 這樣hass沒有得到燈的回報,誤以為它沒開,而自動把開關展示狀态顯示為關。

需要在硬體esp8266中寫程式,每次收到 開燈指令,對應傳回 開的狀态。