前提
- 了解什么是
快乐星球home-assistant(简称HA) - 破烂流丢老安卓机一部
- 此教程不会写的太详细,胜在普适性较好,不需要太多调试指令
- 安装HA这个过程,我劝你用docker安装,远离python、pip。因为各种依赖报错会把你折磨到葛优瘫
背景
如你所知/所不知的,啰嗦几句经验之谈,急性子可跳过。
- 手机上装HA,需模拟出Linux系统
-
iOS暂不支持安装HA。商店搜索iSH shell可模拟Alpine Linux。但请相信我,它没叼用。因为它是简版linux,种种原因它不支持docker;通过Python安装HA总是依赖报错(bcrypto之类的红字)。竖子不足与谋。在iPhone上装HA这条路上我的坑踩他妈大发了,何止是坑爹。
-
安卓模拟Linux可以用Termux或Alpine Term,在这里死荐Alpine Term。Roort与否不重要,Termux虽可模拟Linux,但安装HA会遇到跟iOS相同的依赖报错,苦等半天一片红你气不气?安装docker也是总遇到问题,当然在网上有见过其他人用Termux安装成功的,然后评论区一堆报错提问也没得解决,就当我是个菜逼吧。
-
再次强调下:手机安装HA,建议用docker;通过python需要安装,这里的坑一踩一个准,谁踩谁骂娘。
准备
-
下载app:Alpine Term
- 百度网盘下载 提取码:
7vba
在此感谢CSDN上这位大佬分享的百度盘资源,这片文章对我帮助很大,有兴趣了解AlpineTerm更多使用细节可以看看。
- 百度网盘下载 提取码:
特喵的吐槽下阿里云盘,竟然不能支持分享apk格式的文件,压缩成zip格式也无法分享,不然你们下载速度还能快一点。可能是出于法律风险的问题吧,避免成为非法app的下载平台?
正文
安装并运行Alpine Term,每次启动app都要等待加载,持续几分钟到十几分钟不等,若想HA长时间在线,建议开启app的后台运行权限,以我的红米Note4X为例,手机设置-电量和性能-应用配置-选择Alpine Term-设置后台为‘无限制’;同时设置Wi-Fi为休眠状态下始终保持链接。其他品牌型号请自行探索。
得益于Alpine Term内置集成的docker,省老鼻子事儿了,我们可以直接使用docker安装HA且无需换源。
-
首先切换到root用户: 执行
sudo -i
输入默认密码alpine
,此步骤用以省却后续重复sudo xxx的操作 -
执行
service docker start
启动docker -
执行
docker pull homeassistant/home-assistant
拉取船新版本的HA到
本地。⚠️1.这个过程比较久,个人网络差异,建议做好2-3小时的心理准备; ⚠️2.timeout报错,直接点击键盘上方的向上箭头按钮⬆,再一次执行pull命令即可 ⚠️3.报错"no space left on device",如果你有过其他操作,建议删除app清空app数据,重新安装 ⚠️4.它显示的一个文件列表,逐个Download下载成功会后,会再逐个pull一遍,留意下这个特性,遇事不慌 ⚠️5.pull成功后,会显示一长串 sha256:xxxxxxxxxx 和 Status: Downloaded newer image for homeassistant/home-assistant:xxxxxxxxx ⚠️6.这一步关掉vpn!关掉vpn!关掉vpn! 复制代码
-
执行
mkdir hass
创建安装目录,名字hass可以随意。生成路径会是 /root/hass, 因为操作步骤1后你已经在root路径下了,执行ls命令应该能查看到创建好的hass文件夹 ⚠️ 路径/root/hass会在步骤5中用到,请自行替换 复制代码
-
开始安装
docker run -d --name="hass" -v /root/hass:/config -p 8123:8123 -e TZ="Asia/Shanghai" homeassistant/home-assistant
docker run -d --name="hass" -v /root/hass:/config -p 8123:8123 -e TZ="Asia/Shanghai" homeassistant/home-assistant ⚠️ --name="hass"这句是给HA加个名称,后续docker启动HA都会用到。我执行它只遇到了--name报错命令不支持,所以我把它干掉了 ⚠️ 如果你跟我一样把它干掉,那么安装成功后需要执行“docker ps”,查看最后一项name字段找到程序的旧名字,然后"docker reanme 旧名字 新名字" 来重新取名,例如新名字hasss,新名字在步骤6启动时会用到。 复制代码
-
启动HA,执行
docker start hass
看到输出hass字样表示HA启动成功? -
端口映射
hostfwd_add tcp::8123-:8123
,可以理解成此时的linux环境是在Linux基础上套娃了一层实现的Alpine Linux⚠️操作和命令:在Alpine Term软件里,手指从屏幕的左向右滑会出现菜单 点击QEMU,执行命令 hostfwd_add tcp::8123-:8123 复制代码
-
访问Home Assistant的两种方式:
- 当前手机浏览器访问127.0.0.1:8123
- 获取当前手机IP假设为192.168.0.xx,通过其他手机电脑访问192.168.0.xx:8123
-
执行
rc-update add docker boot
系统启动后,自动开启docker
重启
当Alpine Term应用重启后,需要再次执行的步骤有:
- 执行
sudo -i
输入默认密码alpine
- 执行
service docker start
启动docker - 启动HA,执行
docker start hass
- 端口映射
hostfwd_add tcp::8123-:8123
,要去QEMU里操作,参照前面步骤8
注意事项
如果遇到网络超时timeout错误,就多试几次问题不大。
不需要换源啥的,如果换源可能换不了。
安卓版本/app版本/docker版本/HA版本,这种的基本不太需要注意,只要能跑Alpine Term,能安装HA,能有什么压力。实在不行衫裤跑路也挺省心。
我不经常维护博客,所以不会很及时的回复什么。有什么遗漏的话后续再补充吧
相关文章
Docker install HASS
blog.csdn.net/maoxinwen1/…
端口映射
QA- docker pull 408 关闭局域网中存在的VPN
https://www.cnblogs.com/weidaijie/p/14478617.html
QA-docker failed to register layer no space left
blog.csdn.net/dinofish/ar…