编辑
2024-12-17
项目分享
00
请注意,本文编写于 107 天前,最后修改于 107 天前,其中某些信息可能已经过时。

目录

简介
主要特点
安装方式
社区与支持
Docker安装
HACS安装
主要特点
使用脚本安装
进入容器
执行脚本
添加HACS集成
拓展-易微联接入HA
连接设备
HACS安装SonoffLAN
添加SonoffLAN集成

简介

Home Assistant 是一个开源的家庭自动化平台,允许用户通过友好的用户界面集中控制和管理家中的各种智能设备和服务。它支持广泛的智能家居设备、传感器和其他物联网(IoT)设备,并提供了一个强大的自动化引擎来创建复杂的家庭自动化场景。

主要特点

  • 开源与社区驱动: Home Assistant 完全开源,意味着任何人都可以查看、修改和贡献代码。这不仅增加了透明度,还促进了活跃的社区发展,社区成员不断添加新的功能和支持更多的设备。
  • 本地运行: Home Assistant 可以在本地硬件上运行,如树莓派(Raspberry Pi),这意味着你的数据不会被发送到云端,增强了隐私保护。
  • 丰富的集成: 支持超过 1,500 种不同的集成(Integrations),涵盖了从灯光、恒温器、安全摄像头到语音助手等各种设备和服务。
  • 自动化引擎: 提供了强大的自动化功能,让用户能够根据时间、状态变化或特定事件触发一系列动作。例如,“当太阳落山时打开前院灯”或者“如果检测到运动并且家里没有人,则发送通知”。
  • 用户友好界面: 包含一个直观的Web界面,使得配置和管理变得简单易行,即使对于技术不太熟练的用户也是如此。
  • 多平台支持: 可以在多种平台上安装,包括Linux、Windows、macOS,以及Docker容器等。
  • 安全性和权限控制: 内置了用户管理系统,允许为不同用户提供访问权限,并且可以通过OAuth等协议实现单点登录(SSO)。
  • 自定义性: 用户可以根据自己的需求高度定制Home Assistant,包括使用 Lovelace 界面构建个性化的仪表板。
  • 插件生态系统: Home Assistant Community Store (HACS) 提供了一个简便的方法来安装和管理额外的集成、主题和其他社区贡献的内容。

安装方式

Home Assistant OS: 专门为运行Home Assistant设计的操作系统,推荐用于树莓派等嵌入式设备。 Home Assistant Core: 仅包含核心软件的版本,适合高级用户在现有操作系统上安装。 Home Assistant Supervised: 基于Docker的安装方法,简化了更新和维护过程。 Virtual Machine: 可以在虚拟机环境中运行Home Assistant,适用于测试或开发目的。

社区与支持

Home Assistant 拥有一个庞大而活跃的社区,在官方论坛、Discord服务器和GitHub仓库中,你可以找到大量的文档、教程和支持资源。无论是寻求帮助还是分享经验,社区都是一个非常宝贵的资源。

总之,Home Assistant 是一个强大且灵活的家庭自动化解决方案,旨在为用户提供对智能家居环境的完全掌控,同时保持易用性和开放性。

官网

Docker安装

docker run -d \ --name homeassistant \ --privileged \ --restart=unless-stopped \ -e TZ=Asia/Shanghai \ -v /opt/docker/home-assistant:/config \ --network=host \ ghcr.io/home-assistant/home-assistant:stable

ghcr.io下载太慢可以寻找其他的加速源替换

部署完成访问 https:localhost:8123

HACS安装

Home Assistant Community Store (HACS) 是一个用于 Home Assistant 的社区驱动的插件和自定义集成管理工具。它简化了在 Home Assistant 中添加、更新和管理第三方集成(Integrations)、主题(Themes)和其他自定义组件的过程,极大地提升了用户体验。

主要特点

  • 易于安装和管理: HACS 提供了一个直观的用户界面,允许用户轻松浏览、安装和更新各种自定义集成和主题。只需几次点击即可完成操作,无需手动编辑配置文件或下载文件。
  • 丰富的资源库: HACS 维护着一个庞大的资源库,包含了许多由社区成员开发的集成和主题。这些内容涵盖了从智能家居设备的支持到个性化的仪表板视图等多个方面。
  • 自动化更新: 支持自动检查并通知有可用更新的集成和主题,确保你总是使用最新的版本。同时,也提供了手动更新选项以满足不同用户的需求。
  • 安全性和稳定性: HACS 会根据社区反馈和测试结果来标记某些集成或主题为“已验证”或“实验性”,帮助用户做出更明智的选择。此外,HACS 还会在安装新内容前进行兼容性检查,减少潜在的风险。
  • 与 Home Assistant 紧密集成: HACS 完全集成了 Home Assistant 的环境,因此它可以无缝地工作,不会干扰现有的设置。所有的更改都记录在 Home Assistant 的日志中,便于调试和维护。
  • 支持多种类型的内容: 不仅限于集成和主题,HACS 还可以管理其他类型的自定义组件,如服务(Services)、平台(Platforms)、助手(Helpers)等。
  • 文档和支持: 拥有一个活跃的社区论坛和详细的官方文档,用户可以在遇到问题时快速获得帮助和支持。此外,HACS 的开发者也非常积极地响应用户的反馈和建议,持续改进产品。

官网

使用脚本安装

进入容器

由于我们的HA是docker安装,所以需要进入docker内部

docker exec -it <name of the container running homeassistant> bash

执行脚本

wget -O - https://get.hacs.xyz | bash -

网络环境太差可以进入这个网站复制命令,本地创建sh脚本执行,脚本将里面需要下载zip文件的地址改为加速的地址 例如

shell
#!/bin/bash # wget -O - https://get.hacs.xyz | bash - function run() { set -e RED_COLOR='\033[0;31m' GREEN_COLOR='\033[0;32m' GREEN_YELLOW='\033[1;33m' NO_COLOR='\033[0m' declare haPath declare -a paths=( "$PWD" "$PWD/config" "/config" "/homeassistant" "$HOME/.homeassistant" "/usr/share/hassio/homeassistant" ) declare currentVersion declare currentYear declare currentMonth declare currentPatch declare targetVersion declare targetYear declare targetMonth declare targetPatch function info () { echo -e "${GREEN_COLOR}INFO: $1${NO_COLOR}";} function warn () { echo -e "${GREEN_YELLOW}WARN: $1${NO_COLOR}";} function error () { echo -e "${RED_COLOR}ERROR: $1${NO_COLOR}"; if [ "$2" != "false" ]; then exit 1;fi; } function checkRequirement () { if [ -z "$(command -v "$1")" ]; then error "'$1' is not installed" fi } checkRequirement "wget" checkRequirement "unzip" info "Trying to find the correct directory..." for path in "${paths[@]}"; do if [ -n "$haPath" ]; then break fi if [ -f "$path/.HA_VERSION" ]; then haPath="$path" fi done if [ -n "$haPath" ]; then info "Found Home Assistant configuration directory at '$haPath'" cd "$haPath" || error "Could not change path to $haPath" if [ ! -d "$haPath/custom_components" ]; then info "Creating custom_components directory..." mkdir "$haPath/custom_components" fi info "Changing to the custom_components directory..." cd "$haPath/custom_components" || error "Could not change path to $haPath/custom_components" info "Downloading HACS" rm -f "$haPath/custom_components/hacs.zip" wget "https://gh.api.99988866.xyz/https://github.com/hacs/integration/releases/download/2.0.1/hacs.zip" if [ -d "$haPath/custom_components/hacs" ]; then warn "HACS directory already exist, cleaning up..." rm -R "$haPath/custom_components/hacs" fi info "Creating HACS directory..." mkdir "$haPath/custom_components/hacs" info "Unpacking HACS..." unzip "$haPath/custom_components/hacs.zip" -d "$haPath/custom_components/hacs" >/dev/null 2>&1 echo info "Verifying versions" targetVersion=$(sed -n -e '/^MINIMUM_HA_VERSION/p' "$haPath/custom_components/hacs/const.py" | cut -d '"' -f 2) currentVersion=$(cat "$haPath/.HA_VERSION") info "Current version is ${currentVersion}, minimum version is ${targetVersion}" targetYear=$(echo "${targetVersion}" | cut -d "." -f 1) currentYear=$(echo "${currentVersion}" | cut -d "." -f 1) if [ "${currentVersion}" == "2023.12.0" ]; then rm -R "$haPath/custom_components/hacs" rm -f "$haPath/custom_components/hacs.zip" error "HACS will not work on version 2023.12.0 of Home Assistant, upgrade to 2023.12.1 (or newer) before re-running this script." fi if [ "${currentYear}" -lt "${targetYear}" ]; then rm -R "$haPath/custom_components/hacs" rm -f "$haPath/custom_components/hacs.zip" error "Version ${currentVersion} is not new enough, needs at least ${targetVersion}" fi if [ "${currentYear}" == "${targetYear}" ]; then targetMonth=$(echo "${targetVersion}" | cut -d "." -f 2) currentMonth=$(echo "${currentVersion}" | cut -d "." -f 2) if [ "${currentMonth}" -lt "${targetMonth}" ]; then rm -R "$haPath/custom_components/hacs" rm -f "$haPath/custom_components/hacs.zip" error "Version ${currentVersion} is not new enough, needs at least ${targetVersion}" fi if [ "${currentMonth}" == "${targetMonth}" ]; then targetPatch=$(echo "${targetVersion}" | cut -d "." -f 3) currentPatch=$(echo "${currentVersion}" | cut -d "." -f 3) if [ "${currentPatch}" -lt "${targetPatch}" ]; then rm -R "$haPath/custom_components/hacs" rm -f "$haPath/custom_components/hacs.zip" error "Version ${currentVersion} is not new enough, needs at least ${targetVersion}" fi fi fi echo info "Removing HACS zip file..." rm -f "$haPath/custom_components/hacs.zip" info "Installation complete." echo info "Remember to restart Home Assistant before you configure it" else echo error "Could not find the directory for Home Assistant" false echo "Manually change the directory to the root of your Home Assistant configuration" echo "With the user that is running Home Assistant" echo "and run the script again" exit 1 fi } run
nano install_hacs.sh #粘贴命令,修改zip为加速地址 chmod +x install_hacs.sh #授权 ./install_hacs.sh #执行

或者直接使用cn HACA极速版脚本-gitee地址

wget -O - https://get.hacs.vip | bash -

执行完成后重启HA容器或者在HA页面的开发者工具-yaml配置点击重启,刷新页面

添加HACS集成

进入HA首页

  1. 点击侧边栏的配置
  2. 选择设备与服务
  3. 点击添加集成
  4. 搜索HACA
  5. 按照要求进行安装即可

由此刷新页面后,就可以在侧边栏看见HACA的就完成了安装

拓展-易微联接入HA

采用SonoffLAN的工具进行操作

SonoffLAN 是一个 Home Assistant 的自定义集成,旨在为 Sonoff 智能开关和其他基于 ESP8266/ESP32 的设备提供本地控制和管理功能。它允许用户通过 Home Assistant 平台直接与这些设备进行交互,而不需要依赖云服务或制造商提供的应用程序。

主要特点

  • 本地控制: SonoffLAN 支持通过局域网(LAN)直接与 Sonoff 设备通信,这意味着即使没有互联网连接,你也可以控制这些设备。这不仅提高了响应速度,还增强了隐私保护。
  • 无需云服务: 不依赖于制造商的云端服务器,所有操作都在本地完成。这对于那些担心数据隐私或者希望减少对外部服务依赖的用户来说是一个重要的优势。
  • 支持多种设备: 除了常见的 Sonoff 开关之外,SonoffLAN 还支持其他基于 ESP8266 或 ESP32 的智能设备,如插座、传感器等。具体支持哪些设备取决于集成的实现情况。
  • 自动化和场景控制: 一旦集成到 Home Assistant 中,你可以利用其强大的自动化引擎创建复杂的家庭自动化场景。例如,“当晚上有人进入房间时自动打开灯光”。

连接设备

先通过易微联APP将设备接入app中

HACS安装SonoffLAN

在HA首页的侧边栏中点击HACA,搜索SonoffLAN进行安装

添加SonoffLAN集成

  1. 点击侧边栏的配置
  2. 选择设备与服务
  3. 点击添加集成
  4. 搜索Sonoff进行安装
  5. 安装完成后会有提示框输入易微联app的账号密码即可

由此就将设备通过HA进行管理

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!