小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

2021-11-17 16:32:52 19点赞 160收藏 19评论

0 前言

用iPhone也用了好久了,家里的米家设备比较多,一直只能通过米家app来操作。这些天看到可以通过homeassistant实现将米家设备接入苹果homekit,并且支持siri,功能很全,所以就准备折腾一番。

网上很多教程都是很久之前的了,有些也过时了,所以这次重新整理记录一下折腾的步骤,帮助一样遇到困难的朋友。

1 准备工作

准备一台可以root的安卓手机,我用的是索尼Xperia Z Premium,我,这是我2016年发疯,花了5000多块钱买的手机,现在闲鱼二手只要三四百块钱,高通骁龙835处理器,非常容易root,刷上原来机锋论坛马大的固件包,除了玩游戏,其他都能用途,现在真是性价比之王啊。(边框掉漆了)

小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

2 安装linux

手机要先root,然后安装busybox(酷安有)以及linux deploy(我从github下载的原版)。

1.打开deploy之后,先点击右下角的配置

小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

发行版GNU/Linux选择debian;架构选择arm64;发行版本选择buster;用户名和用户密码自行设置,简单一些;初始化选择启用;ssh选择启用;源改为:https://mirrors.163.com/debian;空间大一点设置成8192MB。

小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

2.之后点击左上角,选择“设置”,关闭“屏幕常亮”,钩选锁定wifi和CPU唤醒;在“环境”一栏点击“更新环境”,更新一下deploy运行的环境。

小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

3.点击右上角,选择“安装”,之后就是耐心等待,安装完成之后会显示"<<deploy",之后点击右上角的“配置”。

小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

4.运行完成之后点击最下面的“启动”,看到starting extra/ssh ... done,以及下一行的<<< start就是启动成功了。

3 安装python和依赖库,安装homeassistant

参考https://post.smzdm.com/p/adwl3r2n/

1.用ssh方式登录到手机。

windows下可以用putty或者xshell这两个软件,win10可以直接用shell终端,macos下可以用自带的终端terminal,或者下载一个terminus。

使用操作自带的终端应用的话,可以直接使用命令ssh 用户名@ip地址:端口号(端口一般默认都是22,所以也可以不输入)。

2.登录之后用命令:

sudo su -

直接使用超级用户权限,方便操作。

3.安装python,按顺序输入以下命令

1)先更新一下apt-get组件

sudo apt-get update

sudo apt-get upgrade

上面这两条命令是更新一下系统的相关组件。

2)安装依赖库

sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev virtualenv -y

这一条命令是安装一些必要的依赖环境,-y的意思是直接点yes确认,免得每个包都来一遍。

3)sudo adduser --system homeassistant

sudo addgroup homeassistant

sudo usermod -G dialout -a homeassistant

这三条命令分别是新建用户(homeassistant)和用户组。

4)sudo passwd root

设定root用户的密码,方便以后用scp方式登录的时候使用。

5)sudo su -s /bin/bash homeassistant

virtualenv -p python3 /srv/homeassistant

上面这条命令可能会失败,这个时候需要进入到/srv/文件夹下,新建homeassistant文件夹,命令如下:

sudo mkdir /srv/homeassistant

然后赋予权限:

sudo chmod 777 /srv/homeassistant

接着再运行命令就好了。

source /srv/homeassistant/bin/activate

为homeassistant设置运行环境,运行好之后应该会如下图所示。

小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit

6)在设置好后的来环境下安装homeassistant,在(homeassistant) root@ localhost:~#后边的复制下面的代码

(homeassistant)$ pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

上一条是将pip3安装器的源更换为清华的国内源,这样安装会快一些。

(homeassistant)$ pip3 install --upgrade pip

(homeassistant)$ pip3 install --upgrade setuptools

(homeassistant)$ pip3 install netdisco

(homeassistant)$ pip3 install --upgrade homeassistant

运行的最后一条就是安装homeassistant,然后就是漫长的等待。等再次看到(homeassistant) root@ localhost:~#就是安装好了。

四、启动homeassistant

参考https://post.smzdm.com/p/adwl3r2n/

1.第一次启动使用命令:

hass

就会启动homeassistant系统。第一次启动的时间比较久,所以需要耐心等待。过个5到10分钟,就可以在浏览器中输入手机的IP地址加端口8123(默认端口),如:

http://192.168.50.149:8123

看看能否进入到系统页面。

能进入页面的话,第一步就是创建用户名和密码,之后可以在命令终端里按键盘上的ctrl+c键,结束hass进程,进行下一步的设置。

2.在后台开启homeassistant用户进程

用ssh登录手机linux系统开启进程有个问题,就是关闭ssh后所有创建的进程也会一同关闭。可以理解成所有在ssh为父进程,ssh下创建的进程其实都子进程,父进程一关,子进程也就都会关掉。为了解决这个问题,可以使用nohup命令或者setsid命令。我自己现在用的是setsid。

再次登录到手机之后,先用:

sudo su -

进入超级用户模式

source /srv/homeassistant/bin/activate

这时会显示:(homeassistant) root@localhost:~#

使用命令:

nohup hass &

或者

setsid hass(推荐使用这个命令)

这两个命令会将hass在后台运行,其父pid为1,退出ssh后不会终结服务。其中nohup运行后输出的消息都输出到相应目录下的nohup.out文件。

如果想指定将信息输出到哪个文件,可以用:

nohup hass > xxx.out >2 &1 &

其中xxx.out是想要输出的文件名。

可以使homeassistant在后台运行。

注:可以使用命令:

ps -ef

查看后台所有进程

ps -ef |grep hass

可以查看hass进程的pid编号。假设进程pid为28678,可以用

kill 28678

强制结束进程。

五、米家设备接入homeassistant

目前已经运行起了home assistant系统,下一步就是将米家设备接入home assistant了。

home assistant里自带了一个能自动接入小米设备的插件,所以就省了我们一个一个地添加了。

要安装这个插件,需要安装hacs中的xiaomi miot auto或者xiaomi miio插件。在home assistant安装hacs。hacs可以是home assistant的一个社区商店,里面是很多个人开发的插件。这个需要使用home assistant的 supervisor功能安装,但是通过我们这种方式安装的supervisor属于core模式,没有supervisor功能,所以需要我们用稍微麻烦一点的方法安装。

1.安装xiaomi_miot

1.1通过hacs安装:

https://github.com/hacs/integration/releases/tag/1.15.2网址,下载hacs.zip。解压后得到hacs文件夹。

要使用hacs,还需要一个GitHub账号,并且对hacs授权。

1.2直接用wget安装(然后跳过2、3)

wget -q -O - https://cdn.jsdelivr.net/gh/al-one/hass-xiaomi-miot/install.sh | HUB_DOMAIN=hub.fastgit.org bash -

参见:https://github.com/al-one/hass-xiaomi-miot

2.在home/homeassistant/.homeassistant文件夹中新建"custom_components"和"www"这2个文件夹。命令如下:

cd home/homeassistant/.homeassistant

mkdir custom_components

mkdir www

这样就创建了文件夹。

接着就是通过winscp(Windows系统)把下载的hacs文件夹复制到custom_components下面。假设我们把hacs文件夹复制到了/root/文件夹下,使用如下命令:

cp -r root/hacs home/homeassistant/.homeassistant/custom_components

这样就把hacs复制进去了,然后重启home assistant系统,就能在最左侧看到HACS了。

3.点击hacs,新增储备库,搜索xiaomi miot auto,注意后面一定要有个auto,新增了之后会提示重启,重启即可。

4.重启之前来到“配置” -“集成”,搜索xiaomi miot auto,安装之后就按照提示登录就可以了。

六、总结

坑1: ERROR: Failed building wheel for cryptography Failed to build cryptography ERROR: Could not build wheels for cryptography which use P EP 517 and cannot be installed directly

解决方法:

sudo apt-get install pep517 libffi-dev libssl-dev

坑2: http依赖安装出问题

解决方法:pip3 install aiohttp_cors

参考:https://www.hachina.io/03.非典型安装(高级用户)/安装HomeAssistant%20Core/

坑3:定时启动服务

在linux deploy里,内置了定时启动的服务,在/etc/文件夹下的cron.daily、cron.hourly、cron.monthly里面,把写好的脚本放进去。再用命令:

service cron start启动就可以了。

坑4:查找某进程的pid

pgrep - f hass

或者

ps -ef | grep hass

坑5:查找所有进程占用的端口

lsof -i:8123

坑6:以下命令可以查看磁盘各分区大小、已用空间等信息:

df -h

坑7:关闭唤醒锁。这个很重要。假如不关的话锁屏一段时间后安卓系统会自动限制后台运行,来达到省电的作用。怎么关呢?把系统的省电方案更改为均衡,并且关闭诸如休眠省电之类的选项。然后把Linux deploy在设置里让其保持后台运行。然后下载MT管理器,打开左侧菜单点击【终端模拟器】,然后下滑任务栏里开启唤醒锁即可。其实任何终端应该都有唤醒锁功能,开启就行啦。

展开 收起

《国家地理 每日精选》iOS数字版软件

《国家地理 每日精选》iOS数字版软件

暂无报价

《Picsew》iOS数字版软件

《Picsew》iOS数字版软件

暂无报价

《kirakira+》 iOS软件

《kirakira+》 iOS软件

暂无报价

《扫描全能王付费版》iOS数字版软件

《扫描全能王付费版》iOS数字版软件

暂无报价

《拍照取字 专业版》iOS数字版软件

《拍照取字 专业版》iOS数字版软件

暂无报价

《航旅纵横PRO》iOS数字版应用

《航旅纵横PRO》iOS数字版应用

暂无报价

《一言》iOS数字版软件

《一言》iOS数字版软件

暂无报价

《凤凰新闻(专业版)》iOS数字版应用

《凤凰新闻(专业版)》iOS数字版应用

暂无报价

《模拟巴黎》iOS数字版软件

《模拟巴黎》iOS数字版软件

暂无报价

《Camera+ 2》iOS数字版软件

《Camera+ 2》iOS数字版软件

暂无报价

《空调万能遥控器》iOS数字版软件

《空调万能遥控器》iOS数字版软件

暂无报价

《TouchRetouch》iOS数字版软件

《TouchRetouch》iOS数字版软件

暂无报价

《iWoman》iOS中文软件

《iWoman》iOS中文软件

暂无报价

《Facetune》iOS数字版软件

《Facetune》iOS数字版软件

暂无报价

《1Password》 ios密码管理软件

《1Password》 ios密码管理软件

暂无报价

《SleepTown》iOS数字版软件

《SleepTown》iOS数字版软件

暂无报价
19评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
160
扫一下,分享更方便,购买更轻松