Home Assistant 自动化实践(一)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Home Assistant 自动化实践(一)相关的知识,希望对你有一定的参考价值。
参考技术A本文想探讨的是如何只使用 HomeAssistant 本身的组件来实现一个“对用户友好”的功能开关。
从一个原本应该很简单的例子讲起:我希望回家开门时玄关的灯会自动打开,并且稍后自动关闭。
家里有你一个 geek 就足够了,你家领导只想要享受,所以开关灯的这个需求还要继续细化:
要完成如上需求,我需要在 HA 中接入一些设备,例如
硬件准备完毕后,开始配置 HA,首先抽象出一个“ 控制面板 ”,对于开关灯这件小事,我觉得三个控制开关就足够了:自动开灯,自动关灯,以及自动关灯的延时时间设置。有了控制面板后,我还需要新增以下几个组件:
智慧家庭 - HA(1) - 在树莓派上架设 Home Assistant
参考技术A本文索引:
Home Assistant (以下简称 HA) 是一个开源的智能家居网关项目,它可以将市面上所有支持的智能硬件设备整合到一起进行统一管理,并提供了默认的 Web UI。HA 社区开发了海量组件以支持市面上主流的设备,在 IoT 中扮演了大脑的角色。在家庭服务器上架设 HA 有多种实现方式,官方也制作了对应的系统镜像 Hass.io ,并推荐使用「树莓派3B+」作为其宿主机器。
为了验证预期效果,最好提前准备好以下设备:
通过 Docker Image 安装及更新一种服务免去了为该服务准备依赖环境的繁琐步骤, HA 官方推出了对应的 Docker Image 且支持树莓派的 CPU 架构,本文主要介绍通过 Docker 安装 HomeAssistant 。如果你不喜欢 Docker ,可以参考 Install Home Assistant 以其他方式安装。
使用 Docker 安装 HA 是非常简单的,官方提供了支持 Raspberry Pi 3 的 Docker Image 和「 安装指南 」:
参数 /path/to/your/config:/config 映射 container 的 /config 至本地主机的物理路径,此处我选择了 ~/.homeassistant 。如果希望安装指定版本的 Image,参考「 HA 在 Docker Hub 上的 Tag 列表 」选择版本,例如 0.69.1:
安装完成后, HomeAssistant 的 container 已经开始运行:
查看刚刚指定的配置文件目录,出现了以下文件及目录:
config 目录(此处为 ~/homeassistant/ )下的 configuration.yaml 是配置文件的入口点,其他由 yaml 为扩展名的配置文件均是为了实现独立管理而单独分离出来的文件,可在 configuration.yaml 文档中找到如下入口载入这些配置文件:
8123 是 Web UI 的默认端口,尝试在浏览器中输入 http://ip-address-to-raspberry:8123 访问,得到如下结果:
HA 会自动查找接入同一网络中的智能设备,是因为 configuration.yaml 中默认配置了 Discovery 组件:
一切正常之后,每次重启树莓派必须手动执行 docker container start [Container ID]/NAME 的方式来启动 HA 服务,我们需要将其做成服务或加入开机启动脚本,编辑 /etc/rc.local 文件:
重启树莓派, HA 开机启动成功,至此,一个基本款的家庭 HA 搭建就完成了。
HA 目前仍然在快速迭代中,对应的 Docker Image 也会同步放出。要更新以 Docker Container 运行的 HA 实例,只要重新拉取最新版本的 Image 即可:
以上是关于Home Assistant 自动化实践(一)的主要内容,如果未能解决你的问题,请参考以下文章
Home Assistant系列 -- 接入手机摄像头做实时监控和人脸识别