Home Assistant长期使用后的几个问题以及解决方法。
 东流去 22-12-03关注。

问题一,为什么要用HASS?
因为苹果智能家居生态Home的体验远远的好与同行竟品。
多平台设备统一接入需要HASS,米家的空气净化器,美的的热水器和Tesla就可以通过一个app控制。
ios16 全新升级了Home应用,体验又提升了一层次。可以自动排列和整理,设备总是越来越多,需要显示的数据也越来越多,自动化整理就变的很重要了。
这里不是说米家app不好用,或者说有什么明显缺点。
只是苹果生态总有诱人之处,让人欲罢不能。

问题二,用什么设备安装Home Assistant。
每人都有自己的答案,奶爸最喜欢的还是mac mini (m1芯片的),功耗低速度快几乎没有噪音,就是日常使用的电脑,24小时开机就可以了,不用多花一分钱,体验绝对是拉满,心目中的理想家庭服务器,nas什么的。
当下的选择还是有很多,包括且不限于:
各种arm设备
树莓派
能跑docker的nas
安卓旧手机
各种电脑,windows/linux都可以的。
大家各取所需,共同体验
问题三,米家设备经常在HASS里离线,怎么解决?
华硕路由器要这么设置:无线设置-2.4Ghz高级设置里停用这三项。
一般情况下重新启动HASS,设备就不会莫名其妙无响应。
原理不解释了,有兴趣的话自己去查。5Ghz的设置不需要动,和智能家居没什么关系。小米Wi-Fi。

听说小米的路由器,要关闭一个选项“智能家居防火墙” ,没有小米的路由器,没法证实,总之在路由器设置里找找看。
问题四,还是莫名其妙间歇性无规律离线或者无响应怎么办?

更改iphone米家app的权限。
原理大概是同一个iphone,米家app和通过Hass接入众多米家设备的Home在使用中会发生莫名的冲突。
同一个小米账号,既登陆在macmini-Home Assistant miot auto 组件里,又登录在米家app里,两者又会同时去控制同一批智能家居设备,还有,米家app还要请求Home里的data,想想就让人崩溃。
平时,关闭米家app的所有权限就可以解决问题。小米智能设备的工作原理,都是云控制的,几乎所有数据和控制都要联网上云。
或者干脆删掉米家app,需要配对设备的时候装一下也就可以了。

到这里,应该可以愉快的玩耍了 。
总结
智能家居进入Matter时代,但小米生态的影响力犹在,各个平台的设备不会这么快统一,跨平台接入还是需要的,当下的智能家居还是HASS+苹果Home是最优解。
这段时间研究了下将非homekit设备接入apple家庭的方案,并成功实施,参考了网上的教程,但是这些教程一般较老,还有的有些坑没有暴露,小白遇到了比较麻烦,这里记录下部署遇到的各种问题。
本人家庭网络部署方案:
各大坑汇总:
HA的hacs插件安装困难:
要把米家等其他生态的智能设备接入apple家庭,不得不提hacs这个强大的插件,由于国内普遍网络情况,github访问有点问题,HA中直接安装hacs比较困难,这时需要通过终端进入HA根目录中用指令安装,先下载HA的zip再解压即可。
hacs中xiaomi auto miot集成安装困难。
和hacs安装一样的问题,需要通过终端安装就能解决。
HA桥接的设备在apple家庭中经常未响应:
情况1:如果路由器是融合2.4g+5g信号自动分配的(在手机上搜索WiFi只有一个信号),需要关闭路由器的融合功能,使2.4g和5g信号分成两个信号源(在手机上搜索WiFi有2个信号,一个2.4g,一个5g),大部分智能硬件只能接入2.4gwifi,5g会失效。
情况2:使用中发现一个奇葩的情况,遇到apple家庭中显示设备未响应,重启HA后又变成正常了,隔天此故障复发,又需要重启HA,排查发现可能是宽带每天自动重新拨号的原因,具体的故障原理未知,此情况需要在重新拨号后重启HA,目前没有很好的方案,我是采用每天凌晨定时重启HA的方案解决,或许需要等待HA更新彻底解决这个问题。
情况3:局域网中,智能设备的网段和中枢必须都在一个网段,不然无法控制。
小米设备接入后部分控制功能无法在apple家庭中实现。
比如,小米风扇,使用HA接入apple家庭后会出现一些奇葩的情况,风扇有几个功能,吹风模式,定时关闭,指示灯开关会分成几个设备进行显示,这和在米家中的体验不一样,米家中可以在风扇控制页面同时控制这些功能,到了apple家庭,变成几个设备,也就是需要在不同的页面控制这些功能,逻辑上很奇怪,不过这是正常情况,米家和apple家庭的规范不一样,导致些许差别,只能取舍,目前使用看来,米家的控制功能确实是远超过apple家庭的,但是,其实大部分情况不需要复杂的控制,apple家庭足以应对,而且apple家庭的局域网响应速度极快,也是米家所不能满足的。
可以安装。
安装需要一系列复杂措施。
安装Python3Home Assistant需要在Python3环境下运行。CentOS7.x自带的Python版本为2.7.5,yum源可安装的Python3版本是3.6。我选择的是手动安装Python3。具体的安装步骤见Python3编译安装安装Home Assistant依赖库按照官网,需要安装的依赖库还不少,但是其他的依赖库在我们安装Python3的时候已经都安装过了,只剩下两个。创建venv环境venv是Python的虚拟环境,可以理解为是一个容器,容器与容器之间的环境是相互隔离的,这样一来,我们在这个环境中对HomeAssistant的一些配置,不会影响到其他使用Python的程序。在创建venv环境的时候,如果提示pip版本过低,则需要对pip进行升级。升级完pip后,开始创建venv环境,注意此时需要使用之前创建的iot用户。此时在目录下会出现一个homeassistant文件夹。接下来激活,使该venv的环境作为我们当前的Python主环境。注意这里我们不再使用python3.9而使用python3。安装一个必须的Python库,如果提示pip版本过低,依然需要升级pip。注意这里安装的库都只在该venv中有效。pip的默认源在国外,当我们安装的时候,下载速度会非常慢。所以我们在此设置清华的pip源。 修改~/.pip/pip.conf文件,没有就创建一个。增加如下信息:安装Home Assistant直接使用启动Home Assistant直接执行如下命令:如果想在后台运行,请加上--daemon。首次启动不建议后台运行。在执行hass后,Home Assistant还会自动下载一些python依赖库和进行一些配置,需要耐心等待一段时间(如果没有配置国内源,可能会等的很久)。这些配置只会在第一次运行hass时执行。访问Home Assistant页面hass执行后,若没有Python相关的异常抛出,就可以访问web页面来注册Home Assistant。默认端口为8123。按照页面要求填写相关资料,然后next。当到这个页面的时候,需要配置MQTT。搜索并选择MQTT。将我们在搭建家庭物联网(1)CentOS 安装Mosquitto 2 - 知乎 (zhihu.com)中搭建好mosquitto服务信息绑定到Home Assistant中,这样Home Assistant就可以接收MQTT信息并展示。我们就能够看到Home Assistant的Dashboard界面。创建传感器使用MQTT Discovery新建一个温度传感器和一个湿度传感器,内容为json格式。打开配置->实体注册表,在里面我们应该能够看到刚创建的温度和湿度传感器。在概览页面(也就是首页),我们可以通过编辑Dashboard的方式把传感器数据放在页面上。自行发送一个传感器数据作为测试,我们可以使用mosquitto的工具自己发送一个数据,如果Web页面能够正常展示数据,说明我们的Home Assistant已经彻底配置完成。