巴法云esp8266接入home assistant,通过mqtt
第一步,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了。