# Avtex — Smart Sleep & Motion Engine for Home Assistant

Avtex Logo

Легковесное 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 прямо на телефоне. * **Устойчивость к убийцам процессов OnePlus**: * Реализован как Foreground Service с типом `specialUse`. * Интерактивный экран со вспомогательными кнопками перехода в системные настройки OxygenOS (отключение оптимизации батареи, включение автозапуска). * **Премиальный дизайн в стиле Cyber Obsidian / Glassmorphism**: * Jetpack Compose & Material 3. * Тонкие неоновые контуры, стеклянные карточки, динамический пульсирующий баннер состояния. * Интерактивная лента аудита событий сенсоров в реальном времени. --- ## 🚀 Быстрый старт ### 1. Сборка APK Для сборки отладочной версии: ```bash ./gradlew assembleDebug ``` Для сборки оптимизированного подписанного Release APK: ```bash ./gradlew assembleRelease ``` Файл будет создан в `app/build/outputs/apk/release/app-release.apk`. ### 2. Установка через ADB ```bash adb install -r app/build/outputs/apk/release/app-release.apk ``` --- ## ⚙️ Настройка Home Assistant (Пример Webhook автоматизации) В файле `automations.yaml` или в визуальном редакторе Home Assistant: ```yaml 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