第一步,home assistant 配置
采用 mqtt 接入方式,找到 home assistant 的配置文件 configuration.yaml,在里面加入巴法雲mqtt的配置信息,如下所示:
# mqtt服務設置
mqtt:
# MQTT Broker的IP地址或者域名
broker: bemfa.com
# MQTT Broker的端口號
port: 9501
#客戶端ID
client_id: 7d54f85af42976ee3c2693e692a6bb59
# 心跳設置
keepalive: 60
在巴法雲mqtt設備雲控制台創建mqtt主題,地址:點擊跳轉,例如本例中使用 light002主題來控制燈。
在配置文件 configuration.yaml 中添加一個燈,主題是light002,代碼如下:
# 添加一個燈
light:
# 設備類型 MQTT
- platform: mqtt
# 設備名字
name: "巴法雲Light"
# 訂閱主題
state_topic: "light002"
# 發布命令的主題
command_topic: "light002"
# 命令格式 on 開燈 和 off 關燈
payload_on: "on"
payload_off: "off"
填入后,重啟 home assistant,在home assistant 界面就可以看到一個燈,說明接入成功,如下圖:
第二步,esp8266訂閱主題
8266程序demo下載: 點擊下載
此程序 是利用arduino IDE開發,關於arduino IDE 的ESP8266環境配置可參考:環境配置: 點擊跳轉
需要修改的信息有WIF名稱,WIFI密碼,用戶私鑰UID,設備主題topic。
在本demo中主題為light002
//********************需要修改的部分*******************//
//WIFI名稱,區分大小寫,不要寫錯
#define DEFAULT_STASSID "Air_mbs"
//WIFI密碼
#define DEFAULT_STAPSW "air123456"
//用戶私鑰,可在控制台獲取,修改為自己的UID
#define UID "4d9ec352e0376f2110a0c601a2857xxx"
//主題名字,可在控制台新建
#define TOPIC "light002"
//單片機LED引腳值
const int LED_Pin = D2;
//**************************************************//
說明 這里的D2引腳是nodemcu的引腳命名方式,其他型號8266直接把D2改為你需要控制的io引腳值就行。
程序燒錄進去后就可以使用home assistant控制esp8266了。