Приложение для управление устройствами умного дома яндекс с компьютера.
| Windows | MacOS |
|---|---|
![]() |
![]() |
Одно из нововведений этой версии - tray режим, теперь приложение может выполнять ещё и функцию desktop приложения, но при желании может быть использовано из системного трея
В отличии от предыдущей версии теперь поддерживаются все устройства, умения (исключением является умение devices.capabilities.video_stream) и свойства. Однако, далеко не все из них протестированны полноценно.
| Build Status | Branch |
|---|---|
| main | |
| dev |
Если вы очень хотите собрать проект самостоятельно:
Создайте файл cmake/qt6-config.cmake и поместите туда вот это:
set(
CMAKE_PREFIX_PATH
"(тут будет ваш пусть до qt)/(версия, желательно 6.9)/lib/cmake"
CACHE STRING "Qt installation path"
)
Ну и стоит понимать, что для полноценной работы необходимо будет сгенерировать необходимые токены.
Сгенерировать необходимые файлы можно с помощью скрипта (см workflow для Windows, этап сборки Generate secrets.json)
Однако сам client id вам нужно будет сделать самостоятельно. Вот как это сделать:
- Создайте веб приложение в https://oauth.yandex.ru/client/new
- Укажите redirect-url: http://127.0.0.1:1337
Заполняете всё остальное и получаете все необходимые данные, копируете client_id.
Следуйте пунктам из workflow, вероятно там будет самый актуальный способ сборки. Советую использовать Qt версии 6.9 и MinGW 13.10, я пробовал собирать на компиляторах старых версий, но там возникают проблемы из-за C++23.
Установите Qt 6.9, разместите необходимые библиотеки аналогично с workflow для Windows. Если хотите universal build, то нужно будет собрать qtkeychain так же universal build. То как примерно должна выглядит папка с либами:
find libs -maxdepth 2 -print
libs
libs/qtkeychain
libs/qtkeychain/include/...
libs/qtkeychain/lib/libqt6keychain.dylib
libs/boost
libs/boost/hana.hpp
libs/boost/hana/...
Дальше можете воспользоваться специальным скриптом scripts/macos-build.sh из корневой папки проекта
А под линукс может быть потом билд сделаю =)
В целом работать наверное будет, но tray режим будет требовать доработки, а ещё возможно его нужно будет подгонять под каждое DE отдельно
В этой версии я реализовал способ работы с приложением через командную строку. Например, если у вас что-то багнулось с аккаунтом (а такое может быть вполне), вы можете сбросить его через CLI. Для этого открываете путь, куда вы установили приложение и выполняете его с аргументами: --reset --i-know-what-i-am-doing.
Примерно так: YandexHomeDesktop.exe --reset --i-know-what-i-am-doing (Для Windows)
Для MacOS ./Applications/YandexHomeDesktop.app/Contents/MacOS/YandexHomeDesktop --reset --i-know-what-i-am-doing
Примечание: Если вы увидите в консоли что-то такое Mon Sep 1 16:01:15 2025 GMT [DEBUG] AuthorizationService: Token: тут будет ваш токен
то вы ошиблись в наборе команды и ПОЖАЛУЙСТА не присылайте мне ваш токен в комменты, если хотите что-то спросить.
По этому токену можно управлять вашим умным домом.
Список аргументов можно посмотреть прописав --help
Пример как включить устройство из CLI: --on_off "имя в ковычках" --value on
Список изображений, которые я использовал:

