# Документация XiControl Что мы знаем о железе Xiaomi/Redmi и как устроено приложение. Сверено с кодом и релизом **v0.17.0** (2026-10-11). > **Имена файлов здесь не меняются.** Приложение открывает по ссылке `15-http-api.md` (вкладка > «HTTP API») и `17-oem-services.md` (вкладка «Драйверы»), причём уже выпущенные версии > делают это по зашитому URL; на остальные документы ссылаются комментарии в коде, скрипты и > README. Номер — это идентификатор, а не порядок чтения. Новый документ получает следующий > свободный номер; устаревший не удаляется, а помечается историческим. ## С чего начать - **Как говорить с прошивкой** — [01](01-wmi-protocol.md): транспорт, буфер, команды, события. Главный документ. - **Что можно и чего нельзя driver-free** — [05](05-open-questions.md): журнал проверок на железе с итогом по каждому вопросу. - **Как устроен код** — [CLAUDE.md](../CLAUDE.md) «Архитектура» (живая карта модулей); [03](03-architecture.md) — почему именно так. - **Что сделано и что дальше** — [ROADMAP.md](../ROADMAP.md), история — [CHANGELOG.md](../CHANGELOG.md). ## Каталог Статусы: **живой** — поддерживается в актуальном виде вместе с кодом; **справочный** — разбор, факты которого не меняются (правится, только если найдено новое); **исторический** — запись этапа планирования, ценна решениями, а текущее состояние смотреть по ссылкам в нём. ### Прошивка и железо | № | Документ | О чём | Статус | |---|---|---|---| | 01 | [WMI-протокол MIFS](01-wmi-protocol.md) | транспорт `MiCommonInterface`, буфер, коды команд, диалекты ответа, события `HID_EVENT20`, что идёт мимо WMI | живой | | 07 | [Карта клавиш](07-keymap.md) | коды спец-клавиш TM2424 и TM2113, назначаемые действия, `KeyCodes` для других моделей | живой | | 12 | [Уровни лимита заряда](12-charge-levels.md) | `0x10/0x02` многоуровневый: 40–100 %, коды, примирение с внешней сменой | живой | | 09 | [Мониторинг питания](09-power-monitoring.md) | ватты, датчик тока, ADPW, температуры (DPTF/ACPI), GPU (IGCL), NPU (PDH) | живой | | 13 | [Авто-яркость](13-auto-brightness.md) | датчик освещённости (WinRT), обучаемая кривая, лимит яркости, диагностика | живой | | 11 | [IoT-модуль удалённого включения](11-iot-remote-wake.md) | `ACPI\IOTD0000`: локальный канал, `0x0C/0x03`, почему wake недостижим | справочный | | 14 | [Горячие клавиши и OSD PC Manager](14-xiaomi-hotkey-osd.md) | диспетчер `OSDUtility.exe` 0x01–0x26, режимы в событии `0x16` | справочный | ### Сеть и OEM-окружение | № | Документ | О чём | Статус | |---|---|---|---| | 15 | [HTTP API](15-http-api.md) | маршруты, авторизация, коды ответов, вебхук, Home Assistant | живой, **открывается из приложения** | | 16 | [Проверка драйверов и BIOS](16-oem-driver-check.md) | протокол сервера Xiaomi: запрос, подпись, каталог | справочный | | 17 | [Службы Xiaomi](17-oem-services.md) | MiService и MiDeviceService: что делают, чем мешают, как отключить | живой, **открывается из приложения** | ### Оформление | № | Документ | О чём | Статус | |---|---|---|---| | 10 | [Палитра](10-colors.md) | цвета иконок и UI в обеих темах — единственный источник | живой | | 08 | [Иконки](08-icon-assets-spec.md) | каталоги `osd/`, `tray/`, `ui/`, правила SVG; ниже — исходное ТЗ | живой (шапка) + исторический (ТЗ) | ### Решения и источники | № | Документ | О чём | Статус | |---|---|---|---| | 05 | [Вопросы и проверки](05-open-questions.md) | права, события, заряд, режимы, телеметрия, TDP, тачпад, значок батареи — с итогами | живой журнал | | 03 | [Архитектура](03-architecture.md) | почему без службы, стек, раскладка проекта | исторический + раскладка | | 04 | [Источники и лицензии](04-references.md) | референс-проекты, OEM-софт, что откуда взято и на каких условиях | живой | | 02 | [Каталог функций](02-feature-catalog.md) | план MVP и что из него вышло | исторический | | 06 | [Что ещё есть в MIControl](06-more-from-micontrol.md) | разбор событий MIControl и что из него перенесли | исторический | `img/` — скриншоты для README (`*.ru.png` — русская версия). ## Что из этого известно наверняка Короткая сводка фактов, на которые опирается проект (подробности — по ссылкам). - **Канал к железу один** — WMI `root\wmi\MiCommonInterface.MiInterface`, нужен админ, служба не нужна. На TM2424 отвечают только `0x08` (режимы), `0x0A` (микрофон), `0x0C` (IoT-модуль), `0x10` (заряд и сенсоры); всё остальное в `0x01..0x30` — `0xE0` ([01](01-wmi-protocol.md)). - **Ответ прошивки бывает двух диалектов** (TM2424 — статус в `OUT[1]`, TM2113 — эхо), диалект определяется в рантайме ([01](01-wmi-protocol.md) §2). - **Набор функций зависит от модели**: режимы, уровни порога, коды клавиш и даже наличие группы заряда. Всё выясняется в рантайме, отказ прошивки — штатная ветка, а не ошибка. - **Driver-free доступно мимо MIFS:** температуры (Intel DPTF), iGPU (Intel IGCL), NPU (PDH), освещённость (WinRT LightSensor), яркость (WMI ACPI), тактильный отклик тачпада (HID `COL05`), частота экрана и тачпад/тачскрин (Win32). - **Driver-free невозможно** (закрыто с проверкой, не предлагать через драйвер): лимит TDP в ваттах, произвольный % заряда, обороты и управление кулером, NFC, удалённое включение ПК, зональное подавление нажатия тачпада, системный значок батареи на уровнях ≠ 80 % ([05](05-open-questions.md)).