智能家居
智能家居窗帘光照联动实战:ESPHome 电机 + 光照传感器 + HA 日出日落自动化
2026年9月26日
用 ESPHome 接管 MQTT 窗帘电机并接入 BH1750 光照,在 HA 实现日出开窗帘、强光遮阳、傍晚关帘的全本地自动化。
智能家居窗帘光照联动实战:ESPHome 电机 + 光照传感器 + HA 日出日落自动化
摘要:本文以 ESPHome 驱动光照传感器、接管成品 MQTT 窗帘电机,在 Home Assistant(HA)中实现"日出开窗帘、强光遮阳、傍晚关帘"的全本地自动化,并给出固件配置与避坑清单。
一、为什么要把窗帘做成"会看光"的自动化
多数成品智能窗帘只支持 App 点按或语音,本质依赖厂商云:断网即失控,离家后状态不可控,还把"家里几点拉帘"这类作息隐私送上了云。更关键的是,它们不会根据光照主动动作——夏天正午西晒时客厅被晒到 40℃,窗帘却还开着。
把窗帘接入 Home Assistant 后,我们可以实现三个典型场景:清晨随日出自动拉开引入晨光;正午室内照度超过阈值时自动闭合遮阳;傍晚光线低于阈值自动关帘保护隐私。整套逻辑在局域网内本地闭环,不依赖外网。
二、硬件方案与选型
普通家庭建议走"成品电机 + 本地协议接管"的省事路线:
- 窗帘电机:选 Zemismart、Tuya 系支持涂鸦串口协议的管状/开合电机(如 M515E)。这类电机内部是 Tuya MCU,可用 ESP32 刷 OpenBEKEN(LibreTiny)固件,把云协议换成本地 MQTT 指令,彻底摆脱厂商云。
- 光照传感器:BH1750(I2C 数字光照,量程 1–65535 lux,误差约 20%)最稳;预算更低可用光敏电阻接 ESP32 的 ADC,但需做线性标定。
极客路线则是 ESP32 + 28BYJ-48 步进电机 + ULN2003 驱动板直接驱动轨道,成本最低但需 3D 打印支架、校准行程,不适合已装好轨道的家庭。
三、ESPHome 固件配置
以"ESP32 读取 BH1750 + 通过 Tuya MCU 控制电机"为例,关键片段如下:
i2c:
sda: GPIO21
scl: GPIO22
scan: true
sensor:
- platform: bh1750
name: "客厅光照 Lux"
address: 0x23
update_interval: 10s
uart:
tx_pin: GPIO1
rx_pin: GPIO3
baud_rate: 9600
tuya:
# 通过 Tuya MCU 协议读取电机百分比位置并下发开关/停指令
BH1750 的 name 会作为实体出现在 HA;电机经 tuya 组件解析后暴露为 cover 实体,可直接用 cover.open/close/stop 控制,HA 端无需再写复杂驱动逻辑。
四、Home Assistant 自动化逻辑
核心是利用 sun.sun 实体的 elevation(太阳高度角)与光照传感器做组合判断。两条例程示例:
automation:
- alias: 日出开窗帘
trigger:
- platform: numeric_state
entity_id: sun.sun
attribute: elevation
above: 5
condition:
- condition: time
after: "06:30"
action:
- service: cover.open_cover
target: { entity_id: cover.living_room_curtain }
- alias: 强光遮阳
trigger:
- platform: numeric_state
entity_id: sensor.lux
above: 30000
action:
- service: cover.close_cover
target: { entity_id: cover.living_room_curtain }
傍晚关帘用 sun.sun 的 elevation 低于 -2 或固定时间触发即可。注意所有动作加当前位置判断,避免频繁抖动。
五、避坑与注意事项
- 行程校准:首次安装务必在电机 App 里完成上/下行程学习,否则 HA 里 100% 与实际位置不符。
- 传感器摆放:BH1750 要朝天、避开直射阳光和灯具,否则照度数值失真导致误动作。
- 断电回零:部分电机断电后位置归零,HA 重启会误判。建议在 HA 用
input_number持久化"上次目标位置",恢复后校正。 - 动作抖动:光照在阈值附近波动会反复开关,务必在自动化里加
for: 00:02:00持续时间判定。
小结
用 ESPHome 接管电机 + BH1750 做光照感知,再以 HA 的太阳高度角和照度做双条件触发,就能得到一套不依赖云、断网也能跑的窗帘自动化。落地成本可控(成品电机几百元 + ESP32 二十元),却显著提升了居住舒适度和隐私安全性。