跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Home Assistant 开源智能家居平台搭建与配置指南

综述由AI生成Home Assistant 是一款开源智能家居平台,支持 1900+ 设备集成,专注于隐私和本地控制。文章介绍了其核心特性、与其他方案的对比、Docker 及树莓派部署方法、自动化配置、UI 面板定制及高级设置。通过本地化部署实现多品牌设备互联互通,避免云端依赖,适合追求全屋智能和隐私保护的用户。

道系青年发布于 2026/4/5更新于 2026/5/2226 浏览

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 地址:https://github.com/home-assistant/core

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 是最佳选择。

目录

  1. Home Assistant:开源智能家居平台
  2. 背景
  3. 什么是 Home Assistant?
  4. Home Assistant vs 其他方案
  5. 工作原理
  6. 快速上手
  7. Docker 部署(推荐)
  8. 启动服务
  9. 查看运行状态
  10. 查看日志
  11. 实时查看日志
  12. 树莓派部署
  13. 在树莓派上运行
  14. 初始配置
  15. 核心功能详解
  16. 1. 设备集成
  17. 2. 自动化
  18. 3. 场景和脚本
  19. 4. UI 面板
  20. 5. HACS 插件商店
  21. 6. 能源管理
  22. 高级配置
  23. 添加设备
  24. configuration.yaml
  25. configuration.yaml
  26. configuration.yaml
  27. 语音控制
  28. configuration.yaml
  29. configuration.yaml
  30. 远程访问
  31. configuration.yaml
  32. 备份策略
  33. backup_homeassistant.sh
  34. 停止容器
  35. 打包配置
  36. 启动容器
  37. 删除 7 天前的备份
  38. configuration.yaml
  39. 常见问题
  40. Docker 更新
  41. 或使用命令更新
  42. 适用场景
  43. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 深入探究 Linux 设备树
  • C++ 开发基础:STL 核心组件与字符编码避坑指南
  • Python AI 语音交互实战:从语音识别到语义理解的全链路实现
  • 现代 C++ 资源所有权与参数转发机制:std::move 与 std::forward 深度解析
  • 基于C++的学生宿舍管理系统设计与实现
  • DeepSeek-V4 深度技术报告:原生多模态架构
  • 利用 ZeroNews 实现 OpenClaw Gateway Dashboard 远程管理
  • 基于 Python 的极简 OpenClaw Agent 实现:openclaw-mini
  • 企业微信视频号去水印解析机器人搭建指南
  • AI 驱动代码审查与错误检测工具深度评测
  • Flutter 组件 tavily_dart 在 OpenHarmony 上的进阶适配与聚合搜索方案
  • Graylog 开源日志管理平台使用指南
  • Buzz 离线语音转文字工具:基于 Whisper 的本地部署指南
  • openclaw-termux:将 OpenClaw AI Gateway 部署至 Android(含 App 与终端)
  • Java Map 常用方法与核心实现类详解
  • MinIO 开源版本部署实战:避开许可证陷阱
  • Spring AI 实现 MCP Server 和 Client
  • 基于 Bright Data MCP Server 构建实时数据驱动的 AI 情报系统实战
  • OpenClaw 漏洞预警:为 AI 代理构建可追溯的日志审计方案
  • Buzz 离线语音转文字工具安装与使用指南

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online