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


關於hass對接mqtt 請參考官網

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

 

1 登陸運行着hass的阿里雲服務器

2 修改hass配置文件,添加mqtt服務信息

 把這個文件拷貝到自己的電腦上,修改后重新上傳服務器

 

 添加以下內容

2.1hass連接Mqtt服務器

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

 

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

# configuration.yaml配置樣例
mqtt:
  # MQTT Broker的IP地址或者域名
  broker: test.mosquitto.org
#如過是本地搭建的
#broker: 127.0.0.1
# MQTT Broker的端口號,缺省為1883 port: 1883 # 用戶名 #username: hachina # 密碼 #password: hachina # 配置自動發現 discovery: true # 自動發現使用的主題位置前綴,缺省為homeassistant discovery_prefix: homeassistant

 

2.2hass手動添加一個設備(燈)

參考官網 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代表對信息內容的配置。
# 這是一個MQTT設備,名字是"MQTT Sensor 1",在MQTT中發布信息的位置在"home/bedroom/temperature"
# 此配置添加系統內實體sensor.mqtt_sensor_1
light:
  #設備類型 MQTT
  - platform: mqtt
  # 設備名字
    name: "LED light over MQTT"
  # HASS標准格式  狀態話題  HASS接收來自設備的狀態信息
    state_topic: "hachina/hardware/led01/state"
  # HASS標准格式  命令話題  HASS發送控制設備的命令
    command_topic: "hachina/hardware/led01/switch"
  # 命令格式  on 和 off
    payload_on: "on"
    payload_off: "off"


被控端(燈)將狀態發布到主題“hachina/hardware/led01/state”中,控制端(HomeAssistant)訂閱這個主題,用於當前狀態顯示;

控制端(Home Assistant)將控制命令發布到主題“hachina/hardware/led01/switch”中,被控端(燈)訂閱這個主題,根據其內容進行實際的開關動作。


雙方以”on”代表開,以”off”代表關。

 

 

 3重啟 hass

 

4 登陸控制台,發現多了個燈設備

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

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

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

 

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

因為手機只是監聽,沒有往狀態話題發布消息--on, 這樣hass沒有得到燈的反饋,誤以為它沒開,而自動把開關展示狀態顯示為關。

需要在硬件esp8266中寫程序,每次收到 開燈命令,對應返回 開的狀態。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM