Package: yandex-quasar-cli
yandex-quasar-cliИнтерфейс командной строки для Yandex Smart Home API/ Далее по тексту - УДЯ - Умный Дом Яндекса /Утилита работает с УДЯ через командную строку, конечная цель - уметь то же, что умеет Web-интерфейс Яндекс QuasarСейчас она умеетвыводить информацию о сущностях УДЯ (устройствах, комнатах, ... ) в текстовом или TSV форматахвыводить информацию об отдельно взятом устройствеудалять устройство по его IDвключать/выключать устройства, имеющие capability "выключатель"сохранять снапшот - слепок информации о текущем состоянии сущностей УДЯсравнивать текущее состояние сущностей УДЯ с сохраненным снапшотом и выводить сравнение в разных форматахполное сравнениесравнение за исключением изменений в properties и capabilitiesкраткая форма со списком удаленных и добавленных устройствРабота со снапшотами и вывод в краткой форме удобен для формирования списков include_entities/exclude_entites расширения
Home Assistantyandex_smart_homeУтилита находится на ранних этапах развития, и точно содержит ошибки и недоработки, багрепорты и пулл реквесты
приветствуютсяУстановкаДля установки воспользуйтесьpip:pip install yandex-quasar-cliИспользованиеДля запуска используйте либо прямой вызов команды:yandex-quasar-cli --helpЛибо запуск через модуль:python -m yandex_quasar_cli --helpКоманды верхнего уровняКомандаЧто делаетyandex-quasar-cli quasarПолучение общей информации о сущностях УДЯyandex-quasar-cli deviceРабота с отдельным устройствомyandex-quasar-cli deviceРабота с ключом OAuthyandex-quasar-cli snapshotsРабота со снапшотами состоянияoauth: работа с ключом OAuthКлюч OAuth обязателен для получения доступа к УДЯ через API Яндекса. Все команды утилиты, кроме help и собственно oauth
требуют валидного ключаКоманды:КомандаЧто делаетoauth helpВывод справки о том, как получить OAuth ключ к своему УДЯoauth save-key <key>Сохранить OAuth ключ в конфигурационном файлеoauth print-key <key>Вывести ранее сохраненный OAuth ключ в консольquasar: получение информации о сущностях УДЯВыводит информацию о сущностях УДЯ в текстовом или табличном TSV форматеКоманды:КомандаЧто делаетquasar <object-type>Общий формат командыquasar devicesИнформация об устройствахquasar groupsИнформация о группахquasar householdsИнформация о домахquasar roomsИнформация о комнатахquasar scenariosИнформация о сценарияхОпции:--tsvВывод информации в табличном TSV форматеКомандаЧто делаетquasar devices --tsvИнформация об устройствах в формате TSVdevices: работа с устройством УДЯВыводит информацию об устройствах или дает управлять ими
Устройство идентифицируется при помощи  устройства в УДЯ вида ece1632c-0e22-42ba-bbef-1c7ff107bd29.
Id может быть получен командойquasar devicesКоманды:КомандаЧто делаетdevice info <id>Информация об устройстве с указаннымdevice delete <id>Удаление устройства с указаннымdevice switch-on <id>Включение устройства с указанным , если оно работает как выключательdevice switch-off <id>Выключение устройства с указанным , если оно работает как выключательОпции:--tsvВывод информации в табличном TSV форматеКомандаЧто делаетdevice <id> --tsvИнформация об устройствах в формате TSVsnapshot: работа со слепками состояния УДЯПозволяет сохранять состояние всех сущностей УДЯ на текущий момент времени в конфигурационном файле и позже сравнивать
новое состояние сущностей УДЯ с сохраненным. Удобно для отладки, а также для генерации списков устройств для
Home Assistant
Вывод либо имеет структуру, похожую на JSON формат Yandex API, либо перечисляет добавленные или удаленные сущностиКоманды:КомандаЧто делаетsnapshot saveСохранение слепка текущего состояния УДЯ. Предыдущий слепок перезатираетсяsnapshot compareСравнение текущего состояния УДЯ с сохраненным слепкомОпции командыsnapshot compare:КомандаЧто делаетsnapshot compareСравнение текущего состояния УДЯ с сохраненным слепкомsnapshot compare --no-props-capsСравнение без текущих значений датчиковsnapshot compare --fullПолное сравнение (выдает только различающиеся поля объектов)snapshot compare --external-idsВывод списка external id добавленных и удаленных устройств (с префиксами +/-Помочь с разработкойДля того, чтобы поучаствовать в разработке, скачайте себе исходный код, после чего настройте окружение venv:cd yandex-quasar-cli
python -m venv venv
source venv/bin/activateУстановите зависимости:pip install -e '.[test]'Для запуска тестов (пока их нет):pytest