巴法云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了。