Home Assistant:开源智能家居平台,打造全屋智能的中枢神经

4 阅读8分钟

Home Assistant:开源智能家居平台,打造全屋智能的中枢神经

背景

智能家居时代,设备越来越多,但问题也随之而来:

  • 不同品牌的设备无法互联互通
  • 米家、华为、苹果 HomeKit 各成体系
  • 云端控制延迟高,依赖网络
  • 隐私数据上传到厂商服务器
  • 设备联动自动化功能弱
  • 想本地控制但设备不支持
  • 添加新设备时需要安装多个 App

今天介绍一款开源智能家居利器——Home Assistant,它是智能家居的中枢神经,支持 1900+ 设备集成。

什么是 Home Assistant?

Home Assistant 是一款开源的智能家居平台,采用 Python 开发,旨在将所有智能设备统一管理,实现本地化控制和自动化。

核心理念: "Open source home automation platform focusing on privacy and local control"——专注于隐私和本地控制的开源智能家居平台。

核心特性:

特性说明
1900+ 集成支持主流品牌设备
本地控制无需云端,本地响应快
隐私优先数据存储在本地
自动化强大的自动化规则引擎
可视化面板直观美观的 UI 界面
开源免费Apache 2.0 许可证
多平台支持 Docker、树莓派、NAS
插件扩展通过 HACS 安装社区插件

GitHub 地址: github.com/home-assist…

Star 数量: 70K+

Home Assistant vs 其他方案

对比项Home Assistant米家Apple HomeKitopenHAB
价格免费免费需要苹果设备免费
开源✅ 完全开源❌ 闭源❌ 闭源✅ 开源
本地控制✅ 完全支持❌ 需要云端⚠️ 部分支持✅ 支持
设备支持1900+仅米家仅 HomeKit600+
隐私数据本地数据在云端数据在云端数据本地
UI 美观度现代美观一般现代较陈旧
自动化强大灵活一般一般较复杂
学习曲线中等简单简单较陡峭

Home Assistant 的独特优势:

  • 支持 1900+ 设备,打通所有品牌
  • 完全本地化控制,响应快且稳定
  • 隐私优先,数据完全自主
  • 自动化引擎强大灵活
  • 社区活跃,插件丰富
  • 支持树莓派、Docker、NAS 等多种部署方式

工作原理

Home Assistant 采用模块化架构:

┌─────────────────────────────────────────────────────────────────┐
│                     Home Assistant 核心                          │
│                                                                 │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐        │
│  │  设备    │  │  自动化  │  │   UI    │  │   集成   │        │
│  │  状态    │  │   引擎   │  │  面板   │  │  管理    │        │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘        │
│       │              │              │              │              │
│       └──────────────┴──────────────┴──────────────┘              │
│                              │                                    │
│                    ┌─────────┴─────────┐                          │
│                    │    事件总线       │                          │
│                    │   (Event Bus)     │                          │
│                    └─────────┬─────────┘                          │
└────────────────────────────┼────────────────────────────────────┘
                              │
     ┌────────────────────────┼────────────────────────┐
     │                        │                        │
     ▼                        ▼                        ▼
┌─────────┐           ┌─────────┐           ┌─────────┐
│  设备   │           │  设备   │           │  设备   │
│  A      │           │  B      │           │  C      │
│ (小米)  │           │ (Yeelight)│         │ (飞利浦)│
└─────────┘           └─────────┘           └─────────┘

核心组件:

组件说明
设备状态管理所有设备状态
自动化引擎根据触发条件执行动作
UI 面板可视化设备控制
事件总线各组件间通信
集成连接各种设备和服务

快速上手

Docker 部署(推荐)

系统要求:

项目最低要求推荐配置
CPU2 核4 核
内存2GB4GB+
存储16GB32GB+
系统LinuxLinux/Docker

创建目录:

mkdir -p ~/homeassistant && cd ~/homeassistant

创建 docker-compose.yml:

version: '3'

services:
  homeassistant:
    container_name: homeassistant
    image: homeassistant/home-assistant:latest
    restart: unless-stopped
    ports:
      - "8123:8123"
    volumes:
      - ./config:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    environment:
      - TZ=Asia/Shanghai
    privileged: true
    network_mode: host

启动服务:

# 启动服务
docker-compose up -d

# 查看运行状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 实时查看日志
docker-compose logs -f homeassistant

访问 Web 界面:

http://your-server-ip:8123

首次访问需要创建管理员账号

树莓派部署

官方镜像安装:

1. 下载树莓派镜像
   https://github.com/home-assistant/operating-system/releases

2. 使用 Balena Etcher 烧录 SD 卡

3. 插入树莓派启动

4. 访问 http://homeassistant.local:8123

Docker 方式:

# 在树莓派上运行
docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -v /path/to/config:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=host \
  homeassistant/home-assistant:latest

初始配置

创建管理员账号:

1. 访问 http://your-server-ip:8123
2. 输入姓名、用户名、密码
3. 选择经纬度(用于日出日落)
4. 选择时区
5. 完成初始设置

配置中文界面:

1. 进入 Configuration → General
2. 点击 Configure
3. Language 选择 Chinese (Simplified)
4. 保存后界面自动切换中文

核心功能详解

1. 设备集成

热门集成:

品牌/平台说明配置难度
小米/米家空调、灯具、传感器⭐⭐
Yeelight智能灯具
飞利浦 Hue智能灯具⭐⭐
涂鸦多种设备⭐⭐
IKEA Trådfri宜家智能灯具⭐⭐
HomeKit苹果设备⭐⭐
Google Assistant谷歌生态⭐⭐
MQTT通用物联网协议⭐⭐⭐

添加集成:

步骤:
1. Configuration → Integrations
2. 点击"+ ADD INTEGRATION"
3. 选择要添加的设备/平台
4. 按照提示完成配置
5. 设备自动出现在 UI 面板

2. 自动化

自动化组成:

自动化 = 触发器 + 条件 + 动作

示例:当有人在门口移动时,如果天黑了就开灯

触发器:门口传感器检测到移动
条件:当前时间在日落之后
动作:打开客厅灯

自动化配置示例(YAML):

automation:
  - alias: "晚间有人开灯"
    trigger:
      - platform: state
        entity_id: binary_sensor.door_motion
        to: 'on'
    condition:
      - condition: sun
        after: sunset
    action:
      - service: light.turn_on
        target:
          entity_id: light.living_room
        data:
          brightness: 80

可视化自动化编辑器:

1. 进入 Configuration → Automations
2. 点击"+ CREATE AUTOMATION"
3. 使用可视化编辑器或 YAML 编辑
4. 设置触发器、条件、动作
5. 保存并启用

3. 场景和脚本

场景配置:

scene:
  - name: "观影模式"
    entities:
      light.living_room:
        state: on
        brightness: 30
        color_temp: 500
      light.tv_back:
        state: on
        brightness: 10
      media_player.tv:
        state: on
        source: HDMI 1

脚本配置:

script:
  goodnight:
    sequence:
      - service: light.turn_off
        target:
          entity_id: light.bedroom
      - service: climate.set_temperature
        target:
          entity_id: climate.bedroom_ac
        data:
          temperature: 26
      - service: cover.close_cover
        target:
          entity_id: cover.bedroom_curtain

4. UI 面板

概览面板配置:

UI 组件类型:
- 卡片:设备控制、状态显示
- 区块:分组显示
- 视图:多个页面切换

常用卡片:
- 灯光卡片:控制灯具
- 空调卡片:温控设备
- 传感器卡片:显示数据
- 地图卡片:设备位置
- 能源卡片:用电统计

卡片配置示例:

type: entities
entities:
  - light.living_room
  - light.bedroom
  - switch.ac
title: 灯光与空调

5. HACS 插件商店

HACS 安装:

1. 通过 SSH 连接到 Home Assistant
2. 下载 HACS:
   wget -q -O - https://get.hacs.xyz | bash -
3. 重启 Home Assistant
4. 在集成页面添加 HACS

常用 HACS 插件:

插件说明
Mini Media Player美化媒体播放器
Bar Card横向柱状图卡片
Slider Button Card滑动按钮卡片
Xiaomi Miot Auto米家设备集成
HACS社区插件管理器

6. 能源管理

电费统计:

能源面板功能:
- 实时用电量显示
- 电费计算
- 历史用电曲线
- 设备用电排行
- 太阳能发电统计

配置电费:

homeassistant:
  energy:
    - supplier: 当地电力公司
      tariff_data:
        - name: "尖时"
          price: 0.6
        - name: "谷时"
          price: 0.3

高级配置

添加设备

小米设备配置:

# configuration.yaml
xiaomi_aqara:
  gateways:
    - key: your_gateway_key

Yeelight 配置:

# configuration.yaml
yeelight:
  devices:
    192.168.1.100:
      name: living_room

MQTT 配置:

# configuration.yaml
mqtt:
  broker: 192.168.1.200
  port: 1883
  username: mqtt_user
  password: mqtt_password

语音控制

配置 Alexa:

1. 在 Amazon Developer Console 创建 Alexa Skill
2. 获取 Alexa Smart Home API OAuth ID
3. 在 Home Assistant 配置:
# configuration.yaml
alexa:
  smart_home:
    entity_config:
      light.living_room:
        name: "客厅灯"
        description: "客厅主灯"

配置 Google Assistant:

# configuration.yaml
google_assistant:
  project_id: your-project-id
  service_account: >
    {...}
  report_state: true

远程访问

配置 DuckDNS + Let's Encrypt:

# configuration.yaml
http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

duckdns:
  domain: your-subdomain
  access_token: your-token

备份策略

自动备份脚本:

#!/bin/bash
# backup_homeassistant.sh

BACKUP_DIR=/path/to/backups
DATE=$(date +%Y%m%d%H%M%S)

# 停止容器
docker-compose stop

# 打包配置
tar -czvf $BACKUP_DIR/ha-config-$DATE.tar.gz ./config

# 启动容器
docker-compose start

# 删除 7 天前的备份
find $BACKUP_DIR -name "ha-config-*.tar.gz" -mtime +7 -delete

使用 Samba 备份:

# configuration.yaml
backup:
  days_to_keep: 7
  use_samba: true
  smtp:
    host: 192.168.1.100
    username: backup
    password: backup_password

常见问题

Q:Home Assistant 和 HomeBridge 有什么区别?

A:

  • Home Assistant 是智能家居平台,支持多种协议
  • HomeBridge 主要是将 HomeKit 设备桥接到其他平台
  • Home Assistant 功能更全面,本地控制更强
  • HomeBridge 专注于 HomeKit 兼容

Q:需要多少服务器资源?

A:

  • 最低配置:树莓派 3B+(2GB 内存)
  • 推荐配置:4GB+ 内存
  • Docker 部署建议 4 核 4GB
  • 设备越多需要的资源越多

Q:数据隐私有保障吗?

A:

  • 所有数据存储在本地
  • 不需要云端即可工作
  • 可配置仅本地网络访问
  • 支持禁用所有云服务

Q:支持哪些设备?

A:

  • 官方支持 1900+ 集成
  • 涵盖主流智能家居品牌
  • 通过 HACS 安装社区插件
  • 支持 ESP8266/ESP32 自制设备

Q:如何更新 Home Assistant?

A:

# Docker 更新
docker-compose pull
docker-compose up -d

# 或使用命令更新
ha supervisor update
ha core update

Q:支持多用户吗?

A:

  • 支持添加家庭成员
  • 可设置不同角色权限
  • 支持访客模式
  • 可以配置 PIN 码保护

适用场景

推荐使用:

  • 全屋智能家居统一管理
  • 多品牌设备互联互通
  • 本地化控制保护隐私
  • 复杂自动化场景
  • 替代各品牌官方 App
  • 树莓派/NAS 智能家居方案

不推荐使用:

  • 仅有一两个简单设备
  • 完全不懂技术的用户
  • 需要厂商保修的场景

总结

Home Assistant 以"1900+ 设备支持 + 本地控制 + 隐私优先 + 强大自动化"的组合,成为了智能家居领域的最佳开源选择。

核心优势回顾:

  • 1900+ 设备支持:打通所有品牌设备
  • 本地控制:响应快,不依赖云端
  • 隐私优先:数据完全自主
  • 自动化强大:灵活的自动化规则引擎
  • 可视化 UI:美观直观的控制面板
  • 开源免费:无任何功能限制

对于追求全屋智能、品牌互通、隐私保护的智能家居爱好者,Home Assistant 是最佳选择。


本文由无边界科技技术团队分享,专注软件开发与技术解决方案。

官网:wubianj.com

© 版权归无边界科技所有,版权所有。