说明:以下为全套文档内容,直接复制保存为对应文件即可,适配CSDN博文配套,包含docker脚本、配置模板、BOM清单、自动化yaml、调试手册摘要。
文件清单列表
全屋智能配套资料/
├─ docker
│ └─ docker‑compose.yml # HA+MQTT+NodeRED一键部署脚本
├─ esphome
│ ├─ smart_home_gateway.yaml # ESP32主网关配置
│ └─ mmwave_sensor.yaml # 毫米波人体存在传感器节点
├─ homeassistant
│ ├─ automation_home.yaml # 回家/离家/睡眠/观影/早安自动化
│ └─ scenes.yaml # 场景配置片段
├─ nodered
│ └─ readme.md # NodeRED导入说明
├─ bom
│ └─ hardware_bom.md # 三套方案硬件BOM清单
└─ doc
├─ 施工调试手册.md
└─ 故障排查文档.md
1、docker/docker‑compose.yml
yaml
version: '3.8'
services:
homeassistant:
image: homeassistant/home-assistant:latest
container_name: homeassistant
restart: always
network_mode: host
volumes:
- ./ha_config:/config
environment:
- TZ=Asia/Shanghai
mosquitto:
image: eclipse-mosquitto:2
container_name: mosquitto-mqtt
restart: always
ports:
- "1883:1883"
- "9001:9001"
volumes:
- ./mosquitto/config:/mosquitto/config
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/log:/mosquitto/log
nodered:
image: nodered/node-red:latest
container_name: nodered
restart: always
ports:
- "1880:1880"
volumes:
- ./nodered_data:/data
environment:
- TZ=Asia/Shanghai
使用步骤
1.保存为
docker‑compose.yml2.执行
docker-compose up -d3.访问:HA http://本机ip:8123 ;NodeRED http://本机ip:1880;MQTT端口1883
2、esphome/smart_home_gateway.yaml ESP32网关配置
yaml
esphome:
name: smart-home-gateway
friendly_name: 全屋主网关
platform: esp32
board: esp32dev
wifi:
ssid: "HomeWiFi_6"
password: "your_wifi_password"
fast_connect: true
mqtt:
broker: 192.168.1.100
username: mqtt_user
password: mqtt_pass
discovery: true
bluetooth_proxy:
active: true
zigbee:
pan_id: 0x1234
channel: 11
logger:
api:
ota:
3、esphome/mmwave_sensor.yaml 毫米波人体存在传感器节点
yaml
esphome:
name: mmwave_hall
friendly_name: 走廊毫米波人体传感器
platform: esp32
board: esp32dev
wifi:
ssid: "HomeWiFi_6"
password: "your_wifi_password"
mqtt:
broker: 192.168.1.100
username: mqtt_user
password: mqtt_pass
uart:
rx_pin: GPIO16
tx_pin: GPIO17
baud_rate: 115200
binary_sensor:
- platform: template
name: 走廊人体存在
id: human_exist
device_class: presence
logger:
api:
ota:
4、homeassistant/automation_home.yaml HA自动化脚本
yaml
- alias: 回家模式‑门锁触发
trigger:
- platform: state
entity_id: binary_sensor.door_lock
to: "on"
condition: []
action:
- service: alarm_control_panel.disarm
target:
entity_id: alarm_control_panel.home_alarm
- service: light.turn_on
target: light.hall_light
data:
brightness_pct: 50
- service: cover.open_cover
target: cover.curtain_living
- service: climate.set_temperature
target: climate.living_ac
data:
temperature: 25
- alias: 离家模式一键布防
trigger:
- platform: state
entity_id: input_button.leave_home
to: "pressed"
action:
- service: light.turn_off
target: all
- service: switch.turn_off
target: all
- service: cover.close_cover
target: all
- service: alarm_control_panel.arm_away
target: alarm_control_panel.home_alarm
- alias: 睡眠模式
trigger:
- platform: state
entity_id: input_button.sleep_mode
to: "pressed"
action:
- service: light.turn_off
target: all
- service: light.turn_on
target: light.corridor_light
data:
brightness_pct: 15
- service: climate.set_preset_mode
target: climate.bedroom_ac
data:
preset_mode: sleep
- alias: 观影模式
trigger:
- platform: state
entity_id: input_button.movie_mode
to: "pressed"
action:
- service: light.turn_off
target: light.living_main
- service: light.turn_on
target: light.living_ambient
- service: cover.close_cover
target: cover.curtain_living
- alias: 早安定时模式
trigger:
- platform: time
at: "07:00:00"
action:
- service: cover.open_cover
target: cover.curtain_bedroom
- service: light.turn_on
target: light.bedroom_light
data:
brightness_pct: 60
5、bom/hardware_bom.md 三套硬件BOM清单
全屋智能硬件BOM清单
方案1|小户型DIY 60‑90㎡ 预算1000‑2500
| 器件 | 型号 | 数量 | 参考单价 | 备注 |
|---|---|---|---|---|
| 边缘主机 | 树莓派4B 8G | 1 | 650 | 部署HA/MQTT/NodeRED |
| ESP32网关 | ESP32‑DevKit + Zigbee模块 | 1 | 120 | Zigbee+蓝牙代理 |
| 人体毫米波传感器 | LD241B‑ESP32节点 | 3 | 85 | 客厅/走廊/主卧 |
| 温湿度传感器 | SHT30 | 4 | 25 | 各个房间 |
| 门窗磁传感器 | Zigbee门窗磁 | 3 | 30 | 入户、阳台窗 |
| 燃气传感器 | Zigbee燃气传感器 | 1 | 80 | 厨房 |
| 零火智能开关 | ESP自制/Zigbee开关 | 4 | 60 | 灯光控制 |
| 智能插座 | Zigbee插座 | 2 | 45 | 热水器等 |
| 简易窗帘电机 | WiFi窗帘电机 | 1 | 220 | 客厅窗帘 |
方案2|标准平层100‑140㎡ 预算4000‑8000
| 器件 | 型号 | 数量 | 参考单价 | 备注 |
|---|---|---|---|---|
| 边缘主机 | 迷你工控主机 N100 | 1 | 1300 | 7×24稳定运行 |
| ESP32网关 | ESP32‑S3 Zigbee蓝牙网关 | 2 | 140 | 分区部署 |
| 墙面触控屏 | 8寸安卓触控屏 | 1 | 450 | 本地控制面板 |
| 离线语音模块 | ESP32离线语音 | 2 | 90 | 客厅、主卧 |
| 毫米波存在传感器 | LD2450 | 5 | 110 | |
| RS485网关 | RS485‑ESP32 | 1 | 130 | 对接中央空调、地暖 |
| 全套传感器 | 温湿度、门窗磁、水浸、燃气、烟雾 | 若干 | ||
| 执行设备 | 智能开关、窗帘电机、新风控制器 | 若干 |
方案3|别墅复式150㎡以上 预算12000+
| 器件 | 型号 | 数量 | 备注 |
|---|---|---|---|
| 计算存储 | NAS+独立N100工控主机 | 2 | 双备份 |
| 分区网关 | ESP32‑S3网关 | 4 | 每层一个网关 |
| POE摄像头 | 400万POE网络摄像头 | 6 | 本地NVR录像 |
| 工业电磁阀 | 燃气、水路切断电磁阀 | 2 | 安防切断 |
| AI视觉模块 | 人形跌倒识别模块 | 2 | 老人房 |
| 背景音乐系统 | 多分区功放+喇叭 | 整套 | |
| 全套传感器、执行器、触控屏 | 整套 |
6、doc/施工调试手册.md
全屋智能家居施工&调试手册
一、网络布线要求
- 核心主机、ESP网关优先网线POE供电,不要全部使用WiFi;
- 智能家居内网与访客WiFi做VLAN隔离,提升安全;
- Zigbee网关尽量放置房屋中部,减少墙体遮挡;大户型每层部署网关。
二、硬件安装注意事项
- 毫米波传感器不要安装在空调出风口,避免误触发;
- 零火开关务必确认墙内有零线,无零线选用单火版本;
- 水浸传感器放置厨房水槽下方、卫生间地面低洼处;
- 燃气传感器距离灶具30‑60cm高度安装。
三、软件部署顺序
- 部署docker:HA + Mosquitto MQTT + NodeRED;
- 烧录ESPHome网关,接入局域网与MQTT;
- Zigbee配对子设备,完成传感器入网;
- 导入自动化yaml,调试场景联动;
- 测试断网,验证本地自动化是否正常执行。
四、上线验收检查项
- 所有传感器状态正常上报
- 各个场景自动化执行正常
- 断网测试:自动化不失效
- 安防报警可以正常推送告警
- 设备日志无频繁离线报错
7、doc/故障排查文档.md
常见故障排查文档
| 故障现象 | 排查步骤 |
|---|---|
| 联动延迟高 | 1.MQTT服务器使用有线网络;2.网关WiFi信号;3.关闭不必要云端集成 |
| Zigbee设备频繁离线 | 1.网关位置;2.增加Zigbee中继设备;3.修改zigbee信道 |
| 断网自动化失效 | 确认自动化规则全部为本地执行,不要调用云端服务 |
| 传感器数据不上报 | 1.MQTT连通性;2.topic主题;3.设备供电;4.局域网互通 |
| docker容器启动失败 | 检查端口占用,检查文件夹权限,确认时区Asia/Shanghai |
| HA导入yaml报错 | yaml缩进严格对齐,不要使用tab,统一空格缩进 |
8、nodered/readme.md
NodeRED流程导入说明
1.打开NodeRED页面 http://ip:1880
2.右上角菜单 → Import
3.粘贴json流程文件,导入
4.修改内部MQTT服务器IP、实体ID为自己环境
5.部署生效
本套包含:回家/离家/睡眠/安防报警逻辑流,可直接二次修改。