9f9a253ef429af67d9d75ab7eb8859bb4cb300ba
Avtex — Smart Sleep & Motion Engine for Home Assistant
Легковесное Android-приложение для мгновенной фиксации сна и пробуждения с интеграцией в Home Assistant (HAC)
Оптимизировано для OnePlus (OxygenOS / ColorOS) и устройств с ненормированным рабочим графиком.
🌟 Ключевые возможности
- Мгновенная фиксация пробуждения (0% расхода батареи):
Использует аппаратный сопроцессор
Sensor.TYPE_SIGNIFICANT_MOTION. Как только вы берете телефон в руки после сна, сигнал пробуждения моментально передается в умный дом. - Детекция сна при ненормированном графике:
Связка таймера покоя (по умолчанию 20 мин при выключенном экране) и нейросетевых классификаций Google Play Services Sleep API (
SleepClassifyEvent). Никаких жестких привязок к часам (23:00–07:00). - Полная совместимость с Home Assistant (HAC):
- Webhook URL: отправка JSON-событий
{"event": "sleep_started" | "sleep_ended", "state": "asleep" | "awake", ...}. - REST State API: прямое обновление сенсора
binary_sensor.phone_sleepчерез Long-Lived Access Token. - Local Broadcast Intent:
com.example.avtex.SLEEP_STATE_CHANGEDдля Tasker / Home Assistant Companion App прямо на телефоне.
- Webhook URL: отправка JSON-событий
- Устойчивость к убийцам процессов OnePlus:
- Реализован как Foreground Service с типом
specialUse. - Интерактивный экран со вспомогательными кнопками перехода в системные настройки OxygenOS (отключение оптимизации батареи, включение автозапуска).
- Реализован как Foreground Service с типом
- Премиальный дизайн в стиле Cyber Obsidian / Glassmorphism:
- Jetpack Compose & Material 3.
- Тонкие неоновые контуры, стеклянные карточки, динамический пульсирующий баннер состояния.
- Интерактивная лента аудита событий сенсоров в реальном времени.
🚀 Быстрый старт
1. Сборка APK
Для сборки отладочной версии:
./gradlew assembleDebug
Для сборки оптимизированного подписанного Release APK:
./gradlew assembleRelease
Файл будет создан в app/build/outputs/apk/release/app-release.apk.
2. Установка через ADB
adb install -r app/build/outputs/apk/release/app-release.apk
⚙️ Настройка Home Assistant (Пример Webhook автоматизации)
В файле automations.yaml или в визуальном редакторе Home Assistant:
alias: "Avtex: Автоматизация сна и пробуждения"
trigger:
- platform: webhook
webhook_id: avtex_sleep
action:
- choose:
- conditions: "{{ trigger.json.state == 'asleep' }}"
sequence:
- service: light.turn_off
target:
entity_id: all
- service: climate.set_preset_mode
data:
preset_mode: sleep
target:
entity_id: climate.bedroom
- conditions: "{{ trigger.json.state == 'awake' }}"
sequence:
- service: scene.turn_on
target:
entity_id: scene.morning_lights
🛠 Стек технологий
- Язык: Kotlin 2.3+
- UI: Jetpack Compose, Material 3, Navigation
- Сенсоры: Android Sensor Hub (
TYPE_SIGNIFICANT_MOTION), Google Play Services Location / Sleep API - Сеть: OkHttp 4.12
- Хранилище настроек: Jetpack DataStore Preferences
Description
Releases
3
Languages
Vue
34.7%
Kotlin
29.6%
TypeScript
22.5%
JavaScript
9.9%
Shell
2.1%
Other
1.1%
