安装和配置 Home Assistant

Neverland

社区版 Neverland 使用 Home Assistant 驱动家居/联网设备,用户可以使用 CodeLab Scratch、Python,或者 CodeLab Adapter 支持的其他 34 门编程语言,与家居/联网设备交互。

Home Assistant 简介

Home Assistant 是一个开源家庭自动化软件,将隐私放在首位,由全球各地的志愿者构建。目前支持 1,500+ 智能家居设备。

Home Assistant 采用 Python 构建,可以运行在任何主流操作系统,以及树莓派中。

安装在哪里?

Home Assistant多种安装方法。如果你打算长期使用它,将其用于家庭自动化,推荐在树莓派上安装。 如果你安装它是为了临时使用 Scratch 来对家庭设备进行编程,则直接在你编程的电脑上安装即可。

环境依赖

Python >= 3.6

开始安装

  • pip3 install homeassistant
    • 国内用户可通过更换 pypi 源加速安装过程: pip3 install homeassistant -i https://mirrors.aliyun.com/pypi/simple

启动 Home Assistant

hass --open-ui

第一次启动时,会安装部分依赖项,根据网络情况不同,耗时不等。

一切准备就绪,将自动打开浏览器,进入都 Home Assistant 主页。访问地址是:http://127.0.0.1:8123

第一次使用需要填写基本用户信息,放心,数据都保存在本地。

添加智能设备

这里展示如何接入 Yeelight 彩光灯(购买链接)和米家智能家庭套装(购买链接)。

如果你有其他智能设备需要接入,可参考官方文档。或者 Google 搜索home assistant + 你想接入的设备

接入 Yeelight 彩光灯

步骤 1:配网

下载 Yeelight 手机客户端 ,按照 App 引导,为彩光灯配网。

配网完成后,你应该能使用 App 控制它。

步骤 2:局域网访问

进入设备页,点击右下角按钮。

允许局域网访问。

步骤 3:获取设备 IP

进入设备页,点击左上角控制器,获取设备 IP。

步骤 4:添加配置信息

将 Yeelight 彩光灯配置信息,添加到 Home Assistant 配置文件(configuration.yaml)里。

配置文件所在路径:

macOS   ~/.homeassistant
Linux   ~/.homeassistant
Windows %APPDATA%/.homeassistant

添加配置信息:

yeelight:
  devices:
    192.168.21.102:
      name: Living Room

步骤 5:重启 Home Assistant

重启之后,你应该可以使用 Home Assistant 控制 Yeelight 彩光灯了!

米家智能家庭套装

步骤 1:配网

下载 米家 手机客户端 ,按照APP引导,首先为 智能网关 配网,之后把其他设备接入进来。

配网完成后,你应该能使用 App 控制它们。

步骤 2:局域网访问

进入 智能网关 页,点击右上角,点击 关于

进入关于页,猛戳空白处多下(操作听硬核的 :P), 将出现 局域网通信协议

点击进入,打开它,并记下密码:

步骤 3:添加配置信息

将 Yeelight 彩光灯配置信息,添加到 Home Assistant配置文件(configuration.yaml)里。

配置文件所在路径:

macOS   ~/.homeassistant
Linux   ~/.homeassistant
Windows %APPDATA%/.homeassistant

添加配置信息:

xiaomi_aqara:
  discovery_retry: 5
  gateways:
    - key: 60n163sp2rduqx4ri

步骤 4:重启 Home Assistant

重启之后,你应该可以使用 Home Assistant 控制 米家智能家庭套装 里的设备了!

使用 CodeLab Scratch 连接 Home Assistant

为了方便用户使用 Scratch 驱动家居设备,我们需要获取 Home Assistant 的访问 token,将其粘贴到 CodeLab Scratch 里的 Home Assistant 拓展积木里。如此一来我们就可以使用 CodeLab Scratch 来为家庭/教室里的设备编程。打个响指,把灯关掉!

获取 Home Assistant 访问 token

如图依次按顺序(1、2、3)操作:

由于 token 只出现一次,所以你最好先复制粘贴到记事本里。

使用 CodeLab Scratch 为家庭设备编程!

你既可以使用 CodeLab Scratch 在线版,也可以使用离线版来进行编程。

在线版与离线版打开方式

如果你是要在线版,直接点击项目链接即可。 如果你使用离线版,则下载源码文件,使用 Scratch 加载它即可。

加载后填入你之前记下的 token。

提醒

如果你的 Home Assistant 访问地址不是http://127.0.0.1:8123 (诸如运行在树莓派上),你就无法在 在线版 中连接它( 浏览器安全策略 )。有两种解决方案:
1. 使用离线版
2. 将 Home Assistant 的访问地址http://127.0.0.1:8123映射到 https 上,可以采用以下任何一种方案:
* ngrok:下载并运行ngrok http 8123,你将 Home Assistant 的访问地址暴露到了 https 公网, 形如:https://ff4b68f8.ngrok.io.
* 其他办法

提醒

无线开关的名字应该形如无线开关.01
门窗感应器名字应该包含门磁

提醒

如果想接入 zigbee 设备,请使用 zigbee2mqtt,目前已支持以下设备

拓展

除了可以使用 CodeLab Scratch 连接 Home Assistant,我们还可以使用 CodeLab Adapter 连接 Home Assistant,这对我们在创客/IoT 实验室里展开教学,以及进行多语言教学(34+ 编程语言)都很有用。

这部分的文档我们将在未来同步过来。

参考