为什么要本地网关

现在买个灯泡、窗帘,都要装对应的 App,连厂商云。手机上装七八个 App,网络一抖就全部失灵,厂商一旦跑路产品直接变砖。本地网关就是把家里所有设备的"大脑"放在自己家里:一台小小的主机跑着统一的自动化引擎,所有设备本地互通,外网断了照样开门、开空调、关灯。

智能家居的终极形态是"你永远感觉不到它在联网"。所有日常联动都在局域网完成,云只做远程查看和语音助手。
智能家居网关配图:中央网关路由器连接灯泡、空调、摄像头
本地网关把多品牌设备收进一个统一大脑

这篇讲怎么选硬件、怎么把 Home Assistant 跑起来、怎么写不依赖云的自动化。

网关硬件怎么选

网关要 7×24 小时开着,省电、稳定、不能重启。常见选择:

网关硬件对比
  • 树莓派 4/5生态最好,功耗 3~5W,适合折腾。
  • N100 小主机性能够跑虚拟机,适合家里设备多。
  • 商业成品网关(绿米 Aqara M3、小米中枢)开箱即用,但扩展性差。
  • 旧笔记本性能够但费电,适合过渡。

关键不是性能,是稳定性。配一个 UPS,停电也能撑半小时,自动化不中断。

Home Assistant 是怎么跑起来的

Home Assistant 是目前最主流的开源智能家居平台,几乎所有品牌都有现成集成。安装方式推荐官方 HAOS 镜像,刷到 U 盘启动就行。

# 安装后的基本结构
# /config/configuration.yaml      主配置
# /config/automations.yaml        自动化规则
# /config/secrets.yaml            密码(不要提交 git)
# /www/                           本地静态资源

# 一个灯泡的 YAML 片段
light:
  - platform: mqtt
    name: "客厅主灯"
    state_topic: "home/living/main/stat"
    command_topic: "home/living/main/cmd"

加一个新设备:要么走集成(Integration)自动发现,要么手动在 YAML 里加一段。设备一多就用 App 的可视化编辑器改,不要手撸 YAML。

局域网联动:断网也能用

"断网可用"是本地网关的核心价值。做法:所有自动化触发都基于本地实体(门磁、人体传感器、光照),动作也走本地协议(MQTT、Zigbee、BLE),不要依赖云端 Webhook。

# 开门自动开灯(本地,不联网)
automation:
  - alias: "开门开灯"
    trigger:
      - platform: state
        entity_id: binary_sensor.front_door
        to: "on"
    condition:
      - condition: sun
        after: sunset
    action:
      - service: light.turn_on
        target:
          entity_id: light.entry

语音助手这类必须联网的功能,单独走云;本地联动永远不被云拖死。