Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

yandex-quasar-cli

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yandex-quasar-cli

Command line interface for Yandex Smart Home API

  • 0.1.3
  • PyPI
  • Socket score

Maintainers
1

yandex-quasar-cli

PyPI Changelog Tests License

Интерфейс командной строки для Yandex Smart Home API

/ Далее по тексту - УДЯ - Умный Дом Яндекса /

Утилита работает с УДЯ через командную строку, конечная цель - уметь то же, что умеет Web-интерфейс Яндекс Quasar

Сейчас она умеет

  • выводить информацию о сущностях УДЯ (устройствах, комнатах, ... ) в текстовом или TSV форматах
  • выводить информацию об отдельно взятом устройстве
  • удалять устройство по его ID
  • включать/выключать устройства, имеющие capability "выключатель"
  • сохранять снапшот - слепок информации о текущем состоянии сущностей УДЯ
  • сравнивать текущее состояние сущностей УДЯ с сохраненным снапшотом и выводить сравнение в разных форматах
    • полное сравнение
    • сравнение за исключением изменений в properties и capabilities
    • краткая форма со списком удаленных и добавленных устройств

Работа со снапшотами и вывод в краткой форме удобен для формирования списков include_entities/exclude_entites расширения Home Assistant yandex_smart_home

Утилита находится на ранних этапах развития, и точно содержит ошибки и недоработки, багрепорты и пулл реквесты приветствуются

Screeecast

Установка

Для установки воспользуйтесь 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 oauthРабота с ключом OAuth
yandex-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Информация об устройствах в формате TSV

devices: работа с устройством УДЯ

Выводит информацию об устройствах или дает управлять ими Устройство идентифицируется при помощи устройства в УДЯ вида ece1632c-0e22-42ba-bbef-1c7ff107bd29. Id может быть получен командой quasar devices

Команды:
КомандаЧто делает
device info <id>Информация об устройстве с указанным id
device delete <id>Удаление устройства с указанным id
device switch-on <id>Включение устройства с указанным id, если оно работает как выключатель
device switch-off <id>Выключение устройства с указанным id, если оно работает как выключатель
Опции:

--tsv Вывод информации в табличном TSV формате --ext (только для команды delete) - используется external id в качестве аргумента удаления

КомандаЧто делает
device <id> --tsvИнформация об устройствах в формате TSV

snapshot: работа со слепками состояния УДЯ

Позволяет сохранять состояние всех сущностей УДЯ на текущий момент времени в конфигурационном файле и позже сравнивать новое состояние сущностей УДЯ с сохраненным. Удобно для отладки, а также для генерации списков устройств для 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 добавленных и удаленных устройств (с префиксами +/-
snapshot compare --idsВывод списка external id и internal id добавленных и удаленных устройств (с префиксами +/-

Помочь с разработкой

Для того, чтобы поучаствовать в разработке, скачайте себе исходный код, после чего настройте окружение venv:

cd yandex-quasar-cli
python -m venv venv
source venv/bin/activate

Установите зависимости:

pip install -e '.[test]'

Для запуска тестов (пока их нет):

pytest

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc