Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
在 Andorid 使用 Termux 安装 HomeAssistant 以作为家庭的 HomeKit 中枢

在 Andorid 使用 Termux 安装 HomeAssistant 以作为家庭的 HomeKit 中枢

主文档

0.配置 Termux

安装

  • 直接在 Play 商店搜索并下载 Termux

显示修饰键

  • 音量键 + Q

更新环境

  • 执行 pkg update
  • 执行 pkg upgrade

安装必备软件

  • 执行 pkg install curl vim

安装优化脚本

  • 需要保证已安装 curl
  • 执行 sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
  • 脚本允许后先后有如下两个选项:
  • Enter a number, leave blank to not to change:
  • Enter a number, leave blank to not to change:
  • 分别选择背景色和字体
  • 想要继续更改挑选配色的话, 继续运行脚本来再次筛选: ~/termux-ohmyzsh/install.sh
  • 执行过上面的zsh一键配置脚本后, 并且授予文件访问权限的话, 会在家目录生成 storage 目录,并且生成若干目录,软连接都指向外置存储卡的相应目录

远程登陆 (可选)

  • 由于 Termux 不支持用密码登陆, 因此需要生成私钥, 并分发公钥文件 (在任意设备中使用同一份公钥, 公钥可以由任意设备生成)

使用 Windows 10 生成公钥

  • 在 Windows 10 生成 ssh 公钥需要 ssh 客户端
  • 打开设置, 在 应用和功能-管理可选功能-添加功能 中找到 OpenSSH客户端, 点击安装
  • 打开 PowerShell, 输入 ssh-keygen -t rsa
  • 生成后的密钥会复制到 %userprofile%/.ssh 下, id_rsa 为私钥, id_rsa.pub 为公钥

将公钥复制到手机上

  • 使用数据线将手机复制到任意目录, 进入 Termux 执行命令(cp), 将 id_rsa.pub 文件复制并重命名为 /data/data/com.termux/files/home/.ssh/authorized_keys

启用 Termux 的 ssh 服务

  • 在 Termux 输入 sshd 开启 OpenSSH 的守护进程
  • 在 Termux 输入 whoami 以获取用户名,如u0_a32
  • 在 Termux 输入 ip a 查看 ip 地址

安装 Windows 10 的 Linux 子系统

  • 打开设置, 在 系统设置-更新和安全-针对开发人员 中选择 开发人员模式
  • 打开设置, 在左上角搜索 启用或者关闭Windows功能, 在 适用于Linux的Windows子系统 前打勾, 安装完毕后重启电脑
  • 在 Windows 商店搜索 Ubuntu 点击安装

登陆 Termux

  • 进入所安装的 Linux 子系统, 输入 ssh 用户名@地址 -p 8022 登陆

保持 Termux 后台运行

  • 下拉手机顶部状态栏,看到 Termux,点击 ACQUIRE WAKELOCK,即可看到 1 session(wake lock help), 此时,termux就可以保持后台运行
  • 在不使用手机时, 保持 Termux 为前台运行并锁屏即可 (不要切换到桌面)

参考

1.安装 Home Assistant

更新环境

  • 执行 pkg update
  • 执行 pkg upgrade

安装/升级基础库

  • 执行 pkg install clang python python-dev openssl-dev clang
  • 执行 pip install --upgrade pip

安装 Home Assistant 的依赖 (可选)

  • 执行 pip install sqlalchemy warrant mutagen hap-python

安装并启动 Home Assistant

  • 执行 pip install homeassistant
  • 执行 hass
  • 电脑打开 地址:8123 查看是否正确运行

故障排除

如果出现 aarch64-linux-android-clang 的错误 (上方有小字缺失ffi.h文字)

参考

2.配置 Home Assistant

该步骤根据实际情况操作

拷贝配置文件到根目录的 HomeAssistant 下

执行 cp /data/data/com.termux/files/home/.homeassistant/configuration.yaml /storage/emulated/0/HomeAssistant/configuration.yaml

将根目录的 HomeAssistant 下配置拷贝到配置文件目录

执行 cp /storage/emulated/0/HomeAssistant/configuration.yaml /data/data/com.termux/files/home/.homeassistant/configuration.yaml

安装 HomeKit 依赖

执行 apt install libavahi-compat-libdnssd-dev

参考

@SparkCui

This comment has been minimized.

Copy link

@SparkCui SparkCui commented Jul 25, 2019

win10 ssh不需要装子系统,powershell就自带了ssh,直接用就好

@PRStarDust

This comment has been minimized.

Copy link

@PRStarDust PRStarDust commented Jul 16, 2020

感谢教程,【pkg install clang python python-dev openssl-dev clang】多了一个clang,另外我使用hass运行的话会有很长一串的错误,使用hass --open-ui可以成功运行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.