HomeKit 是 Apple 公司推出的开源智能家居平台,homebridge 是一个可以将非 HomeKit 设备接入 HomeKit 系统的开源桥接软件。homebridge-esp1 是一个 homebridge 插件,可以将 ESP8266 设备接入 HomeKit 系统,实现智能家居的控制。
前置要求
在开始使用 homebridge-esp1 之前,需要满足以下条件:
- 一台运行着 Homebridge 的设备
- 一台 ESP8266 设备,并且已经烧录了 ESPHome 固件
安装 homebridge-esp1
在命令行中运行以下命令,即可安装 homebridge-esp1:
$ npm install -g homebridge-esp1
配置 homebridge-esp1
在 Homebridge 的配置文件中添加以下配置:
-- -------------------- ---- ------- - --------- - ------- ------------- ----------- -------------------- ------- ------ ------ ------------ -- -------------- - - ------------ ------- ------- ---------- ------- ---------------- ------- ------ ----------- - - ------ - ------ ------ - --------- ---------- - ----- ---------- - ----- --------- - ----- ---------- - ------ ----- - ------------- ----- - ------------ - - - - -
name
:插件名称,自定义即可。host
:ESP8266 设备的 IP 地址。port
:ESPHome 固件中配置的 API 端口号。switches
:开关列表,详见下文。
开关列表
使用 homebridge-esp1 可以控制 ESP8266 设备的开关状态,开关列表中包含了所有需要控制的开关。
下面是一个简单的开关设置:
-- -------------------- ---- ------- ----------- - - ------ - ------ ------ - --------- ---------- - ----- ---------- - ----- --------- - ----- ---------- - ------ ----- - ------------- ----- - ------------ - -
name
:开关名称,自定义即可。type
:开关类型,目前只支持switch
。readable
:可读状态,设为true
,表示可以读取开关状态。writable
:可写状态,设为true
,表示可以修改开关状态。onValue
:开关打开的值,默认为"ON"
。offValue
:开关关闭的值,默认为"OFF"
。get
:读取开关状态的 URL。set
:修改开关状态的 URL。
示例代码
下面是一个简单的 ESP8266 开关控制示例:
-- -------------------- ---- ------- -------- ----------- -------- ----------- -------- --------------- ----- ----------- - ------ ----------------- ------ ------ - ------- ------------- - ---------------------- -- ---- ------- -------- - -- ---- ---- -- ------ -- ----------- -- ---- --- --- ----- -- ------- ------------------------- ----- -------------------- -------- -- --- -- --- --- ------ ----------------- - ---- -------- -------- - -- ---- ---- -- ------ ----- ----------------- ------------- -- ---- --- --- ------- --- ---------- - ------------------ -- ------------ - ----------------------- --- ------ ----------- ------------ -- -------- - ------ -- ----- --- ---- ---- --------------- - --- -- ---- --- ---- ---- --- ------ -------------- ------------ ---------------- - ----- -- ----- --- ---- ---- ----------------------- ---- -------------------- ------ -- --- --- ------ ------ ---- -- - -------------- -- ----- -- ------ --- ----- ------ ----- ------------------------- -- - ---- - ----- ------------------ - - -------- ------- ---- -- ----- ----------- - ------ --------- - ------- ---- ------- -------- - -- ---- ---- -- ------ -- ----------- -- --- -- --- --- ------ ----------------- - ---- -------------- ------ - -- ------ --- ---- ---- ----------------------- ---- ----------- - --------- -------------- - ----- - ---- - ------ -- --------- --- ---- ---- ------ ----- ------------------ ------ -- ---- --- --- ------ -------------------------------- ------- ---------------- ---------------- - -------- ------- ---- -- ----------- ------------- - --- -------------- ----------- ------------- - --- -------------- ---- ------- - ----------- -------------------------------- -------------------------------- ------------ - ---- ------ - ----------- -
总结
使用 homebridge-esp1 将 ESP8266 设备接入 HomeKit 系统,需要先烧录 ESPHome 固件,然后在 Homebridge 的配置文件中配置开关列表。使用示例代码可以控制 ESP8266 的开关状态。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005728581e8991b448e8bbd