Android手机安装Home-Assistant(无需Root)

前提

  1. 了解什么是快乐星球 home-assistant(简称HA)
  2. 破烂流丢老安卓机一部
  3. 此教程不会写的太详细,胜在普适性较好,不需要太多调试指令
  4. 安装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需要安装,这里的坑一踩一个准,谁踩谁骂娘。

准备

  1. 下载app:Alpine Term

    在此感谢CSDN上这位大佬分享的百度盘资源,这片文章对我帮助很大,有兴趣了解AlpineTerm更多使用细节可以看看。

特喵的吐槽下阿里云盘,竟然不能支持分享apk格式的文件,压缩成zip格式也无法分享,不然你们下载速度还能快一点。可能是出于法律风险的问题吧,避免成为非法app的下载平台?

正文

安装并运行Alpine Term,每次启动app都要等待加载,持续几分钟到十几分钟不等,若想HA长时间在线,建议开启app的后台运行权限,以我的红米Note4X为例,手机设置-电量和性能-应用配置-选择Alpine Term-设置后台为‘无限制’;同时设置Wi-Fi为休眠状态下始终保持链接。其他品牌型号请自行探索。

得益于Alpine Term内置集成的docker,省老鼻子事儿了,我们可以直接使用docker安装HA且无需换源。

  1. 首先切换到root用户: 执行sudo -i 输入默认密码 alpine,此步骤用以省却后续重复sudo xxx的操作

  2. 执行service docker start 启动docker

  3. 执行 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!
    复制代码
  4. 执行mkdir hass创建安装目录,名字hass可以随意。

     生成路径会是 /root/hass, 因为操作步骤1后你已经在root路径下了,执行ls命令应该能查看到创建好的hass文件夹
     ⚠️ 路径/root/hass会在步骤5中用到,请自行替换
    复制代码
  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启动时会用到。 
    复制代码
  6. 启动HA,执行docker start hass 看到输出hass字样表示HA启动成功?

  7. 端口映射hostfwd_add tcp::8123-:8123,可以理解成此时的linux环境是在Linux基础上套娃了一层实现的Alpine Linux

     ⚠️操作和命令:在Alpine Term软件里,手指从屏幕的左向右滑会出现菜单
     点击QEMU,执行命令 hostfwd_add tcp::8123-:8123
    复制代码
  8. 访问Home Assistant的两种方式:

    1. 当前手机浏览器访问127.0.0.1:8123
    2. 获取当前手机IP假设为192.168.0.xx,通过其他手机电脑访问192.168.0.xx:8123
  9. 执行 rc-update add docker boot 系统启动后,自动开启docker

重启

当Alpine Term应用重启后,需要再次执行的步骤有:

  1. 执行sudo -i 输入默认密码 alpine
  2. 执行service docker start启动docker
  3. 启动HA,执行docker start hass
  4. 端口映射hostfwd_add tcp::8123-:8123,要去QEMU里操作,参照前面步骤8

注意事项

如果遇到网络超时timeout错误,就多试几次问题不大。
不需要换源啥的,如果换源可能换不了。

安卓版本/app版本/docker版本/HA版本,这种的基本不太需要注意,只要能跑Alpine Term,能安装HA,能有什么压力。实在不行衫裤跑路也挺省心。

我不经常维护博客,所以不会很及时的回复什么。有什么遗漏的话后续再补充吧

相关文章

Docker install HASS
blog.csdn.net/maoxinwen1/…

www.jianshu.com/p/b70626ac4…

端口映射

blog.csdn.net/m0_50526669…

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…

www.jianshu.com/p/ac591f49a…

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享