Skip to content

1812z/Ha_Helper

Repository files navigation

HA Helper - Home Assistant 安卓助手

基于 Flutter 开发的 Home Assistant 安卓工具,通过 MQTT 与 Home Assistant 通讯,提供设备屏幕控制、短信转发和应用启动功能。搭配传感器快速实现人来亮屏人走息屏功能,适合备用机安装使用。

功能特性

  • 🔌 MQTT 通讯: 使用 MQTT 协议与 Home Assistant 进行通讯
  • 🔍 自动发现: 自动发送 MQTT Discovery 消息到 Home Assistant
  • 📱 屏幕控制: 支持远程控制手机屏幕开关
  • 🚀 应用启动: 支持通过 Home Assistant 启动手机上的其他应用
  • 📩 短信转发: 实时转发最新短信到 Home Assistant
  • ⚙️ 配置管理: 美观的设置页面,支持保存 MQTT 配置信息

配置说明

首次使用

  1. 打开应用后,点击右上角设置图标

  2. 填写 MQTT 配置信息:

    • 服务器地址: MQTT 服务器的 IP 地址
    • 端口: 默认 1883
    • 用户名: MQTT 服务器用户名
    • 密码: MQTT 服务器密码
    • 设备 ID: 唯一标识符(可自动生成)
    • 设备名称: 在 Home Assistant 中显示的名称
  3. 保存配置并返回主页面

  4. 授予设备管理权限以启用屏幕控制功能

  5. 授予短信读取权限以启用短信转发功能

Home Assistant 集成

应用会自动发送 MQTT Discovery 消息,Home Assistant 会自动发现设备并创建实体:

  • 实体类型: switch

  • 实体 ID: switch.<device_id>_screen

  • 功能: 控制手机屏幕开关

  • 实体类型: text

  • 实体 ID: text.<device_id>_launch_app

  • 功能: 输入应用包名启动应用(例如:com.android.chrome)

  • 实体类型: sensor

  • 实体 ID: sensor.<device_id>_latest_sms

  • 功能: 显示最新短信内容

  • 实体类型: sensor

  • 实体 ID: sensor.<device_id>_battery

  • 功能: 显示设备电池电量

权限说明

应用需要以下权限:

  • INTERNET: 网络连接(MQTT 通讯)
  • WAKE_LOCK: 唤醒屏幕
  • DISABLE_KEYGUARD: 解除锁屏
  • ACCESS_NETWORK_STATE: 检查网络状态
  • READ_SMS: 读取短信内容(短信转发功能)
  • DEVICE_ADMIN: 设备管理权限(关闭屏幕)
  • QUERY_ALL_PACKAGES: 查询已安装应用(仅 Android 11+)

贡献

欢迎提交 Issue 和 Pull Request!

About

Control your device via hass

Resources

Stars

Watchers

Forks

Packages

No packages published