本教程将指导你完成 Atom-Lite 与 Home Assistant 的灯光控制集成。
Setting -> Add-ons -> Add-ons STORE 中安装 ESPHome Builder 插件。Show in sidebar 将其添加至左侧导航栏。
NEW DEVICE,创建一个新设备。
CONTINUE 按钮。
Atom-Lite。
Use recommended settings 取消勾选,然后选择 ESP32 进入详情页。
M5Stack-ATOM,选中后点击 NEXT 按钮。
key 复制后点击 INSTALL 进入安装步骤。
Manual download 开始进行程序编译并等待编译安装完成。
Atom-Lite 的设备,点击 EDIT 按钮进入 yaml 文件编辑页面。
yaml 文件中,并将图示位置的 ssid 和 password 修改为你的 Wi-Fi 账号和密码。esphome:
name: atom-lite
friendly_name: Atom-Lite
esp32:
board: m5stack-atom
flash_size: 4MB
framework:
type: esp-idf
logger:
api:
encryption:
key: "*********"
ota:
- platform: esphome
password: "*****************"
wifi:
ssid: "*********"
password: "***********"
ap:
ssid: "Atom-Lite Fallback Hotspot"
password: "jFsIc2XGuKRe"
captive_portal:
binary_sensor:
- platform: gpio
pin:
number: GPIO39
mode: INPUT
inverted: true
name: "Atom Button"
id: atom_button
filters:
- delayed_on: 50ms
- delayed_off: 50ms
on_multi_click:
- timing:
- ON for at most 0.8s
- OFF for at most 0.5s
- ON for at most 0.8s
- OFF for at least 0.2s
then:
- logger.log: "Double Clicked"
- light.turn_on:
id: atom_light
red: 100%
blue: 50%
green: 20%
brightness: 50%
- timing:
- ON for at least 0.8s
then:
- logger.log: "Single Long Clicked"
- light.turn_on:
id: atom_light
green: 100%
blue: 50%
red: 30%
brightness: 100%
light:
- platform: esp32_rmt_led_strip
rgb_order: GRB
pin: GPIO27
num_leds: 1
chipset: SK6812
name: "Atom RGB Light"
id: atom_light
restore_mode: RESTORE_DEFAULT_OFF
effects:
- random:
name: "Random"
transition_length: 1s
update_interval: 1sESP-IDF 的组件使用,原来 Arduino 下的 NeoPixelBus Light 不支持 ESP-IDF 框架,新版 ESPHome 请使用 ESP32 RMT LED Strip 组件。
SAVE 按钮保存 yaml 文件,再点击 INSTALL 按钮开始编译固件并烧录。
Manual download 开始编译固件并等待完成。
DOWNLOAD 按钮会出现烧录方式选择的界面,这里我们选择 Factory format 以保存到本地。
INSTALL 进入烧录选择界面,这次选择 Plug into this computer,并将设备与电脑用 USB 连接以烧录。
Open ESPHome Web 进入烧录界面。
CONNECT 按键,然后选择接入电脑的串口设备并连接(若此处没有出现串口请自行检查是否硬件连接有误)。
INSTALL 进入本地固件文件选择界面。
INSTALL 并等待烧录完毕。
烧录完成:
Setting 进入设置界面查看 Discovered 处的设备,点击 ADD 添加设备。
Settings 进入设置界面并选择 Devices & services。
ESP 即可找到 ESPHome,进入并选择 Atom-Lite。
Atom-Lite 配置页面中,可以看到 Atom RGB Light 和 Atom Button 两个 Entity,自动化就是通过配置各种 Entity 来实现逻辑的,我们点击 + 号添加 Automations,随后跟着指引操作即可。
就这样我们用 Atom Button 和 Atom RGB Light 两个实体来组成了一个 Automation,这个自动化的效果是当单击按钮时会切换灯光状态。
Overview 菜单,进入组件控制界面,点击右上角的 edit 按钮,进入编辑界面。
By card 界面搜索 Light 并选择 Atom RGB Light 实体组件。
组件配置如下:
RGB 灯的状态不仅会体现在组件上,还可以直接通过组件来控制实体。
