//
// ESPHomeFenWeiDengConfig.m
// 氛围灯ESPHome配置文件
// 注释版 - 详细说明每个配置项的作用
//
/*
* ESPHome设备配置 - 氛围灯 (fenweideng)
* 设备名称: fenweideng
* 友好名称: 氛围灯
* 硬件平台: ESP8266 (型号: esp01_1m)
*/
#pragma mark - ESPHome基本配置
esphome:
# 设备名称(内部标识,用于生成OTA名称和实体ID)
name: "fenweideng"
# 友好名称(在Home Assistant中显示的名称)
friendly_name: 氛围灯
#pragma mark - 硬件平台配置
esp8266:
# 开发板型号 - ESP-01 (1MB Flash)
# 注意:ESP-01只有GPIO0和GPIO2可用,但配置中使用了GPIO4和14,请确认硬件支持
board: esp01_1m
#pragma mark - 日志系统
# 启用日志记录,方便调试和故障排除
logger:
# 默认级别为DEBUG,可通过level:设置日志级别
# level: DEBUG/INFO/WARN/ERROR/VERBOSE/NONE
#pragma mark - Home Assistant API通信
api:
# API加密配置,确保与Home Assistant的安全通信
encryption:
# 加密密钥(由Home Assistant生成)
key: "eU0rbb69fnxGEPaswVuAV6jp01qJ6sMEdPw1mhvG7Xg="
# 可选的API配置项:
# port: 6053 # 自定义API端口(默认6053)
# password: "" # API密码(可选)
#pragma mark - OTA无线升级
ota:
# 使用ESPHome原生OTA平台
platform: esphome
# OTA升级密码(重要:请妥善保管,防止未经授权的固件更新)
password: "a2ed64c3857a0ac966a573b71003c6ea"
# 可选配置:
# port: 8266 # OTA端口(默认8266)
# safe_mode: true # 启用安全模式,升级失败时回滚
#pragma mark - WiFi网络配置
wifi:
# 主WiFi网络配置
ssid: "ASUS_6C_2G" # WiFi网络名称(SSID)
password: "zhangyongming123" # WiFi密码
# 手动设置静态IP(固定IP,避免DHCP分配变化)
manual_ip:
static_ip: 192.168.4.16 # 设备静态IP地址
gateway: 192.168.4.1 # 网关地址(路由器IP)
subnet: 255.255.255.0 # 子网掩码
dns1: 114.114.114.114 # 首选DNS服务器
# 可选的WiFi高级配置:
# domain: .local # mDNS域名
# reboot_timeout: 0s # WiFi连接超时重启
# 备选AP模式(热点模式)
# 当WiFi连接失败时,设备会开启热点供配置
ap:
ssid: "Esphome-Web-00C249" # AP模式热点名称
password: "HfJOJ1FJiI" # AP模式密码(至少8位)
# 可选的AP配置:
# ap_timeout: 1min # AP模式超时时间
# manual_ip: ... # AP模式手动IP(可选)
#pragma mark - 开关组件配置
# 定义GPIO控制的开关,用于控制主卧顶灯
switch:
- platform: gpio # GPIO开关平台
name: "主卧顶灯" # 开关显示名称
pin: GPIO4 # 使用的GPIO引脚号
# 开关的唯一标识符,用于自动化和其他组件引用
id: "light"
# 可选的开关配置:
# inverted: true # 引脚反相(低电平有效)
# restore_mode: # 断电恢复模式
# icon: "mdi:lightbulb" # 自定义图标
#pragma mark - 物理按钮传感器配置
# 定义GPIO按钮,实现物理开关控制
binary_sensor:
- platform: gpio # GPIO二进制传感器平台
name: "主卧顶灯" # 传感器名称
id: "light_sb" # 传感器唯一标识符
# GPIO引脚详细配置
pin:
number: GPIO14 # 使用的GPIO引脚号
inverted: True # 引脚反相(按钮按下为低电平)
mode: INPUT_PULLUP # 输入模式,启用内部上拉电阻
# 按钮按下事件处理
on_press:
then:
# 切换开关状态
- switch.toggle:
id: light # 引用之前定义的开关
# 可选的按钮配置:
# on_release: # 按钮释放事件
# on_double_click: # 双击事件
# on_multi_click: # 多击事件
# on_long_press: # 长按事件
#pragma mark - Captive Portal(网络配置门户)
# 启用Captive Portal功能
captive_portal:
# 当设备启动AP模式(热点模式)时
# 会自动创建一个Web配置页面,用户可通过浏览器
# 连接到设备热点并配置WiFi网络
# 注意:此配置项通常无需额外参数
# 默认启用,如需禁用可设置为false: captive_portal: false
# 功能说明:
# 1. 当WiFi连接失败时,设备进入AP模式
# 2. 用户连接设备的热点(默认:Esphome-Web-00C249)
# 3. 打开浏览器访问任意HTTP网站
# 4. 浏览器会自动重定向到设备的网络配置页面
# 5. 用户可在页面中选择WiFi网络并输入密码
# 6. 设备会自动尝试连接配置的WiFi
# 可选的进阶配置:
# web_server: # Web服务器配置
# port: 80 # Web服务器端口
#pragma mark - 可添加的其他功能(示例)
/*
# Web服务器(用于查看设备状态和手动控制)
web_server:
port: 80
# MQTT客户端(替代Home Assistant API)
mqtt:
broker: "mqtt.homeassistant.local"
username: "mqtt_user"
password: "mqtt_password"
# 传感器(添加温度、湿度等传感器)
sensor:
- platform: dht
pin: GPIO12
temperature:
name: "Temperature"
humidity:
name: "Humidity"
# 自动化(基于条件自动控制)
automation:
- trigger:
platform: time
at: "18:00:00"
then:
- switch.turn_on: light
*/
//
// 配置结束
// 请将此文件保存为 fenweideng.yaml
// 使用命令编译:esphome compile fenweideng.yaml
// 使用命令上传:esphome upload fenweideng.yaml
//