HomeAssistant安装使用的几个问题

Homeassistant的安装使用已经有很多的文章介绍,但只有自己实践过才能真正体会到其中的一些东西,这里分享几个经历。

1、安装什么版本

其实本质上这不是一个问题,所有版本的Homeassistant都是一家,只是为了适应不同的使用环境增减了一些功能组件,其中Home Assistant Core是基础版,仅有核心功能,Home Assistant OS是完整功能版,Core可以手动安装各种功能组件变得基本和OS一样,因此,主要看硬件环境适合怎么装,功能可以后面再增加。比如,NAS上一般用docker装Core版很方便,树梅派直接装OS版一步到位。

2、Docker方式安装中网络设置和文件映射

所有介绍Homeassistant安装的文章中都讲网络设置选host,就是利用主机端口,其实完全可以设置成bridge方式,这样可以不占用主机端口,同时和其它容器一样进行端口映射,就是不一定要8123端口,可以映射成主机上任意未被占用的端口,灵活性大大增加。文件映射就更简单,只要文件夹映射到容器的/config就能运行。

3、灵活运用多种方式完成设备的接入

由于智能设备来自于不同企业,或有些产品中的程序做了一定修改,同时各家在物联网协议方面也没有统一,所以很难有一种方法可以接入所有的设备,即使是小米的设备也没有办法一次就完成接入。通过以下方式可以接入大部分通用设备:

3.1、利用米家的Xiaomi Miio和Xiaomi Gateway (Aqara)集成接入各种网关,这样可以一次性将网关下的所有设备接入。

这样做的好处是所接入设备走局域网控制,控制延时很低,体验很好。

但是以上两种方法在不同的设备和不同的homeassistant版本下接入会有不同的效果,很可能有的接入会出现子设备不显示或属性不全等问题,可以尝试不同的方法看最终效果。

3.2、利用第三方集成和系统集成接入部分设备

非米家的设备,如格力、美的空调,konke的插座等,还有米家设备中的蓝牙设备、各类wifi设备等。大部分可接入设备在Github上都有相关下载。

3.3、利用小米帐号接入部分很难接入的米家设备

原则上,只要米家APP上能控制的设备都能被接入,推荐采用xiaomi_miot_raw进行接入,效果比较好,其它MIoT集成没有检验过不清楚。

之所以最后采用云接入方式,主要是云接入时延非常大,对一般灯、开关之类的控制体验很差,但一些状态参数显示等对时间要求不高的设备还是可以的,如温湿度计这种设备。另外,现在有的集成可以选择局域网控制还是云控制。

3.4、其它设备

如京东微联、美的美居等好像目前只有等待开发者的贡献了。

4、综合利用APP、Homeassistant和HomeKit达到良好的家庭智能化体验

利用APP可以非常方便地管理各种智能设备,特别是各厂家内部设定智能控制和场景,如果这个工作要在Homeassistant上完成需要有开发能力,一般人是不可能的。

利用Homeassistant平台可以将不同厂家的设备整合在 一起,也可以将不同类型的设备整合在一起,也就是凡是能接入的设备都集合起来了。同时,可以提供给苹果终端设备的连接桥,通过Homeassistant,苹果手机等可以控制所有Homeassistant上的设备。

利用HomeKit控制所有智能设备,并使不同设备实现智能化场景。在IOS上,家庭APP的体验是非常好的,并可以设置好智能场景。

5、外网连接Homeassistant

外网连接Homeassistant有一个反向代理的问题,Homeassistant运行在内网中,如果是通过反向代理向外提供服务需要对HTTP集成进行设置,否则显示400错误,这个问题在2021年初以前的版本中没有,但最新的版本有,设置方法看官方文档。

6、注意的问题

6.1、接入米家多功能网关(第二代)时,用不同方法可能出现注册实体显示不一样的问题,甚至有一些没有显示。该网关可以Xiaomi Miio接入也可以用Xiaomi Gateway (Aqara)接入,最好是用Xiaomi Gateway (Aqara)接入,接入实体完整,名称规范清晰。用该方法接入时要用到网关的局域网通讯密钥,不是token,网络上有获取该密钥的教程。

HomeAssistant连接HomKit

Homeassistant是一个通用的智能家居平台,通过它能接入不同平台的智能设备,但接入之后如何方便地使用还是有不同的途径。苹果手机中有自己的智能家居应用HomeKit,如果能将homeassistant中的智能设备连接Homekit,则苹果用户就可以自己的手机操作了。如何接入苹果的homekit应用,网络上已经有很多文章,特别是前几年HomeAssistant中没有集成桥接插件,需要自己安装第三方插件,非常麻烦,而且很容易出错,但现在系统已经内置了HomeKit集成插件,可以很方便地将HomeAssistant中的智能设备连接到HomeKit中。

1、将智能设备接入HomeAssistant中,不同设备差异很大,按实际情况操作。

2、安装HomeKit集成插件,它将作为一个软件的桥接器把智能设备的协议在局域网内转换成HomeKit规范,这样iphone手机或平台设备在局域网内就可以直接连接控制智能设备了。

2.1 登录 HomeAssistant 进入配置,选集成

2.2 选添加集成,下翻找到HomeKit,注意不是HomeKit控制器

2.3 将想接入入的类型全部选中,点提交

3 回到HomeAssistant首页,选择通知,系统将展示二维码,这个就是接入HomeKit的凭证

4、iphone进入家庭APP,点添加配件,扫描上图的二维码,所有的智能设备将接入手机中。

几个说明:

1、通过内置的HomeKit桥接入iPhone中的智能设备只在局域网内可用,离开局域网后将显示无法连接。主要的原理是,在局域网时手机可以直接连接HomeKit软桥,离开局域网环境后手机需要连接苹果公司的服务器,通过苹果公司的服务器再接入家庭智能设备,因此,想在公网环境中连接家中的智能设备,需要在家里设置一台中心枢纽,按苹果公司的要求可以是一台AppleTV或Homepad或iPad。

2、当通过内置的HomeKit桥接入iPhone后,可以邀请家庭成员,但是只能邀请一人,当邀请第二个人时,以上设置HomeKit集成将变得不可用。

3、内置的HomeKit桥可以反复删除添加,不影响手机的使用。当手机中的智能设备在内网不可连接时,可以在HomeAssitant删除HomeKit集成,然后再按照以上步骤重新接入智能设备。

HomeAssistant打造一个智能的家

智能的概念现在非常普及,新房子装修时买了大量带wifi或蓝牙连接的设备,开关、灯和感应器以小米为主,但也有很多其他品牌,这样被迫装了一堆app,而且小米米家十分臃肿,要控制一下哪个设备操作烦琐,所以考虑用开源软件建立家庭智能化控制中心。

网络上有各种文章,由于系统环境的差异,一些经验介绍别人使用效果不好,甚至错误百出,个人经验是无论是系统安装还是设备接入,最重要的是去看官方文档,里面都有权威的说明,一般满足基本条件后都可以很好地进行。以下就网络上问得比较多的问题,介绍几条经验。

一、安装平台和形式的选择

1、优先考虑低功耗开发板或现有服务器安装

智能控制中心需要常年24小时开机运行,需要一台一直在运行的设备作为服务器,HomeAssistant官方为各种派专门定制了版本,用起来很方便,如果已经有了服务器,在上面加装也可以,毕竟该服务的资源消耗并不是很高。

2、同时,也比较推荐以docker方式运行官方镜像,稳定可靠。由于智能设备需要用到多种协议,适应各种品牌,所以在添加设备的时候经常需要安装各种依赖,如是该服务安装在主系统上,则经常会改动主系统,影响主系统的安全稳定,而且也不利于该服务的升级和数据备份。容器以独立的形式运行,各种环境修改定制都很方便。

sudo docker run -itd –net=”host” –restart=always –name=”homeassistant” -v ~/homeassistant:/config -e TZ=”Asia/Shanghai” homeassistant/home-assistant:latest

3、也有不同的版本形式供安装使用,如homeassistant、hassio等,建议安装hassio的版本,它集成好了一些组件,方便以后的使用。

二、升级homeassistant

很多组件安装时都要求较新的版本,这样系统升级就避免不了,docker中安装的homeassistant如何升级呢?两条命令即可完成。

1、ssh进入容器内部

docker exec -it homeassistant bash

2、用python包管理命令直接升级

pip install --upgrade homeassistant

3、重新启动容器

三、安装HACS社区应用市场

homeassistant除了小米Xiaomi Gateway (Aqara)等少数设备可以通过自动发现直接接入外,很多的设备要通过第三方插件来接入,安装HACS应用市场就很有必要,可以比较方便集中管理插件的安装删除,不用单独在Github上一个一个地下载解包配置。

安装HACS在网络上很多人都出现各种错误,其实官网有非常明确的介绍。

1、明确自己的homeassistant安装方式

大体三种主要方式,在操作系统上安装的、docker安装的还是本身就是HomeAssistant OS,每一种方式安装要求是很不相同的,具体参考:https://hacs.xyz/docs/installation/installation

2、docker容器中安装HACS

2.1 按官方指导文件下载错误

用wget -q -O – https://hacs.xyz/install | bash - 命令下载HACS出现系统错误,官方的HomeAssistant镜像基础系统是aphine linux,wget命令不好用。

a 直接进入HACS官方的Github仓库,点clone下载代码zip文件到本地,这步操作对上网没有什么要求,下载也很快。

b 在HomeAssistant安装时映射的文件夹中建立custom_components文件夹,要与configuration.yaml文件在同一级目录

c 将下载的文件解压,其中的hacs文件夹拷贝到custom_components文件夹中

2.2 配置HACS

a 在Github中申请token

在Github官网上注册一个帐户,并用该帐户登录。

注册没有特殊条件,按要求填写就可以了。

进入以下页面:

https://github.com/settings/tokens

填一个token的名字,其他选择全部留空,再按生成,最后得到一个token字符串,保存下来。

b 写配置文件

打开configuration.yaml文件,在最下面像这样写:

c 关闭homeassistant容器,再重新启动

d 登录homeassistant,进入配置,选择集成,在搜索中找到HACS完成添加。

如果没有找到,可以等一段时间甚至再重新启动容器,该服务的安装启动在第一次时比较慢,只要token和配置正确。

四、多个灯怎么接入

在接入小米pillips灯泡的时候遇到多个泡只能接入一个的问题,在网上一查很多人都碰到这个问题,在看一个关于yaml文件编写要求的视频时得到启发。

1、小米的灯可以接入多个,其它的品牌不知道,问题主要在yaml文件的编写。

2、写灯的yaml文件时,多个灯统一写在light条目下,每个灯空一行,以下的我的配置,供参考: