Home Assistant 系列基础篇 - 系统安装

有关 Home Assistant 的一切问题,请优先参阅 Home Assistant 中文文档 以及官方英文文档

欢迎加入 HA 技术讨论群:515348788

Home Assistant 是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation)、群组化(Group)、UI 客制化(Theme) 等等高度定制化设置。背后又有庞大的社群基础,且不断在更新。最重要的是我们可以通过 Homeassistant-homebridge 插件打通两个平台,同样实现设备的 Siri 控制。整套体系的框架如下:

基本框架

可以看出,Home Assistant 作为接入所有智能家居设备的「平台」,通过 Homebridge 这一「桥梁」,最终实现 iOS 及 macOS 设备对智能家居的设置。

我们知道 Homebridge 本身可以接入部分原生不支持 Apple Homekit 的设备,但由于 Homekit 本身的局限性,“桥梁”再强大,也无法逾越其极限。

打个比方来说,每个人都能单独过桥到对岸,但是速度始终有限,如果我们把人装进车里一起运送过桥,效率则更高,同时多了车内这么一个空间。这里的“车”就可以看作是 HASS。

HASS 本身作为一个独立的平台,有能力集成大量量产或 DIY 的智能家居设备,并且拥有独立的控制前端,在层级上来说是和 Appple Home 平台平起平坐的大 Boss。换言之,通过 HB 接入 Homekit 只是这个平台应用的一部分,对于其他非 Apple 生态用户,HASS 也同样给予其完整丰富的智能家居体验。

本系列将围绕安装、配置、开发等内容,详细介绍 HASS 平台的方方面面,同时针对 HASS 与 HB 兼容与选择,自动化配置方法等等问题给出自己的观点和探索,希望可以给大家玩转智能家居带来新的启发和收获。

HASS 支持大部分平台,包括 Docker、macOS、Linux、Windows等。简而言之,只要你的主机能跑 Python,基本就能安装 HASS。配合「魔镜」项目,以及便捷性的考虑,我选择的平台是树莓派 3,本系列教程也将基于树莓派展开。

初始安装

在树莓派安装 HASS,有 4 种方法供选择:

Raspbian Hassbian Mossbian Hass.io
内核系统 Raspbian Raspbian Raspbian resinOS+Docker
图形操作界面
开放性
安装难度
配置难度
后期支持度
新手推荐度

以上 4 种方法从性能上来说并无二异,均能实现 HASS 全部功能,Hassbian 实际上亦基于 Raspbian ,唯一需要纳入考虑的是图形化操作界面的需求。原生 Hassbian 没有 GUI,但是我们可以手动进行安装,或者你可以安装作者制作的改版 Mossbian 镜像,自带系统 GUI。

对于刚入门的新手和想摆脱大量代码的朋友,方法推荐度依次为:Mossbian > Hassio > Hassbian > Raspbian。

下述教程将讲解前 2 种对新人最友好的镜像 Mossbian 和 Hass.io 的安装方法,其他镜像的具体安装方法欢迎参考 『Home Assistant 中文文档』。有关 Hass.io 更详细的内容欢迎参考『Hass.io 特别篇』。


Mossbian(Hassbian)

简介

Mossbian 是由博主独立制作的 Hassbian 的中文本地化改版,与原版 Hassbian 相比具有以下优点:

  1. 镜像使用与树莓派基金会生成官方系统 Raspbian 相同的脚本生成,非直接备份,可以适配所有型号树莓派及各容量存储卡。

  2. 自带图形化操作界面和必要系统依赖文件,剔除部分幼教内容与 Minecraft、Libreoffice 等不常用应用,较原生 Hassbian 更丰富,较官方 Raspbian 更精简。

  3. 自带汉化版 Hassbian-scripts 工具包,和 官方 Hassbian 同步。

  4. 自带 Pypi 阿里云源,npm 淘宝源与 Debian Apt 中国源,显著提升国内软件包下载速度。

  5. 开机中文系统并带中文输入法,方便使用。

  6. 其他功能和官方 Raspbian 基本相同,现有树莓派项目攻略可任意参考套用。

  7. 最新 0.3.0 版 Mossbian 已配合 Raspbian 2018 年 3 月更新,适用新出的树莓派 3B+。


安装步骤

官方 Hassbian 镜像安装步骤与此相同,可类比参考。

首先使用镜像刷写工具 Etcher 刷入最新 固件镜像

要注意的是,Mossbian 初次启动时需要联网进行初始下载设置,因此请保证树莓派在有网(有线/无线)环境下。初始 WIFI 设置:

  1. 将 TF 卡通过读卡器插入电脑;

  2. 打开 TF 卡 /boot/wpa_supplicant.conf 文件;

  3. 添加或修改相关设置,保存:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
    ssid="WIFI 名称"
    psk="WIFI 密码"
    key_mgmt=WPA-PSK
    priority=1
    }

镜像默认开机联网状态下将自动下载安装 Home Assistant。安装需要一定时间,安装成功后 Home Assistant 将自动启动。注意:初次启动后 HA 后台还将会下载大量依赖,因此上述所有步骤将耗时一定时间,请耐心等待。

正常情况下,等待约15-20分钟后,在局域网任意设备打开浏览器登陆 http://树莓派 IP:8123 则可进入 Home Assistant 页面,超过半小时仍未出现页面,请进行安装排错:

  1. 确认 Home Assistant 自动安装服务是否启动:sudo systemctl status install_homeassistant -l,active 表示正在安装,inactive(dead)表示安装脚本已经执行完毕,具体成功或失败详见反馈的日志。如果安装失败,请尝试强制手动安装:sudo hassbian-config install homeassistant -F (旧版中 -F-f
  2. 确认 Home Assistant 运行状态:sudo systemctl status home-assistant@homeassistant.serviceactive表示正在运行。出现类似下图日志表示正在安装依赖,请再等待:

注:官方 Hassbian 默认没有 GUI,但我们可以手动安装,最终实现和 Mossbian 一样的效果(但缺少大量软件包和中文配置工具)。

1
2
3
sudo apt-get install --no-install-recommends xserver-xorg
sudo apt-get install --no-install-recommends xinit
sudo apt-get install --no-install-recommends raspberrypi-ui-mods lxterminal gvfs

Mossbian(Hassbian) 未来 HA 更新指令如下:

1
sudo hassbian-config upgrade homeassistant

Hass.io

此方法目前只适用于全系列树莓派及 Intel NUC,关于 Hass.io 更深入的介绍详见『Hass.io 特别篇』。

首先使用 Etcher 安装官方最新固件镜像

需要设置WIFI链接的朋友,请修改 TF 卡下 /system-connections/resin-sample 文件

https://docs.resin.io/deployment/network/2.0.0/

正常情况下,等待约 30 分钟后,在局域网任意设备打开浏览器登陆 http://hassio.local:8123 则可进入 Home Assistant 页面


特别提醒:所有安装方法只有出现类似下图,才表示初始安装完成;如若没有出现界面,或者无法连接,有很大可能是尚未安装完毕,不要着急再等等。(注意地址冒号为英文字符,请勿输入中文冒号)。初次安装启动时,勿进行任何额外操作,保持树莓派通电、联网、静置状态!非常重要!


附加功能安装

以下教程不适用于 Hass.io,Hass.io 对附加功能使用模块式一键安装方法,大家可以登录主界面左侧栏的 Hass.io 项下进行点击安装,更多信息详见『Hass.io 特别篇』

更多可安装软件包请参阅 Home Assistant 中文文档 Mossbian 章节

SMB(建议)

SMB 可以帮助我们开启树莓派的网盘模式,方便未来文件传输。

安装指令:sudo hassbian-config install samba

安装后默认打开 Home Assistant 配置文件的局域网共享。


MQTT

MQTT 是基于二进制消息的发布、订阅编程模式的消息协议,广泛用于物联网部署中。

安装指令:sudo hassbian-config install mosquitto


Homebridge 安装

该步骤仅适用于 Apple 生态链用户,特别是想要通过 家庭 app 及 Siri 控制智能家居设备的用户。其他平台用户可跳过。

在文章开头,我已经简要介绍了 HASS 和 HB 的区别。我们在这里安装 HB 的目的在于通过 HB 打通 HASS 和 Apple Home 两大平台,实现联动。

我们知道 HB 本身可通过安装插件的方式接入部分设备,有时候同个设备同时支持 HB 插件和 HASS,也有部分用户已经配置好了 HB 但现在想转入 HASS,因此产生质疑。

这里我做一个说明:桥梁和平台分工不同,不可能产生冲突,也就是原有 HB 配置当然可以保留。但是仅使用 HB 就是将设备直接接入 Apple Home 这个平台,而如果设备同时接入了同样是平台的 HASS,那么平台之间就会产生冲突,导致设备被重复识别添加。当然,我们可以进行进一步的设置避免这一点,我将在未来的 『设备接入篇』 中详细介绍。

对于初学者,我建议一个设备仅连接一个平台使用,即要么单接入 HA,要么通过安装 HB 插件的方式单接入 Apple Homekit。


Mossbian 中 HB 的安装非常简单:sudo hassbian-config install homebridge,安装完成后,homebridge 、HA 联动插件以及图形化 Web UI 均已安装并自动启动,在局域网任意设备打开浏览器登陆 http://树莓派 IP:8120 即可打开 Homebridge 页面。


如果不想使用工具包,(自虐倾向)手动安装的方法是:sudo npm install -g --unsafe-perm homebridge。如果安装不成功,再使用下面的手动安装指令。

注意:以下指令树莓派 zero 用户无法使用。

1
2
3
4
5
6
7
8
9
10
11
12
sudo apt-get install git make
sudo apt-get install g++
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install libavahi-compat-libdnssd-dev
sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/local/lib/node_modules/homebridge/
(注意这里如果显示不存在文件夹,替换成 cd /usr/lib/node_modules/homebridge/)
sudo npm install --unsafe-perm bignum
cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns
(注意这里如果显示不存在文件夹,替换成 cd /usr/lib/node_modules/hap-nodejs/node_modules/mdns)
sudo node-gyp BUILDTYPE=Release rebuild

手动安装之后输入 homebridge 运行一次 HB,以生成示例配置文件,然后 Ctrl + C 退出。

接着,安装 Homeassistant-homebridge 插件,实现平台联动:

1
sudo npm install -g homebridge-homeassistant

手动方法安装的,日后插件更新,请使用下列指令:

1
sudo npm upgrade -g homebridge-homeassistant

到此为止基本大功告成,我将在下一篇「设备接入篇」中继续介绍如何将智能家居设备接入 HASS。

更多精彩 Home Assistant 入门视频教程,欢迎前往 网易云课堂 学习。

cxlwill wechat
欢迎扫码订阅“墨澜工作室”公众号,获取最新文章推送。