# Яндекс Умный дом — плагины ViON

Источник: https://vionvision.tech/plugins/smart-home/yandex

Связывает ViON с Умным домом Яндекса и станциями Алисы: датчики и реле хаба становятся датчиками ViON, сценарии запускаются из автоматизаций, станции произносят уведомления, камеры Умного дома показываются в ViON.

- Пакет: @vionvision/camera-ui-yandex
- Группа: Умный дом
- Версия: 0.2.4
- Требуется: ViON 2.3.4 или новее
- Лицензия: MIT
- https://npm.vionvision.tech/-/web/detail/@vionvision/camera-ui-yandex
- https://github.com/atva0408-create/Vion-plagin/tree/main/camera-ui-yandex#readme

## Техническое описание

Связывает ViON с Умным домом Яндекса и станциями Алисы. Датчики и реле хаба в Яндекс Станции становятся датчиками ViON, сценарии Умного дома запускаются из автоматизаций ViON, станции зачитывают уведомления вслух, а камеры Умного дома появляются в ViON.

## Что умеет

- **Датчики**: движение, двери и окна, протечки, дым, газ, вибрация, кнопки, температура, влажность, освещённость и CO₂ Умного дома становятся датчиками ViON. Они могут запускать запись и распознавание на камерах и автоматизации
- **Управление**: реле, розетки, выключатели и освещение Умного дома становятся выключателями и освещением ViON, поэтому автоматизации ViON включают и выключают их
- **Кондиционеры, телевизоры, ИК-пульты**: кроме включения и выключения, режим, температура и вентилятор кондиционера, громкость, канал, вход и отключение звука телевизора, а также выученные кнопки ИК-пульта находятся в настройках их выключателя (страница Devices в ViON, More). Пульт только из кнопок становится отдельным выключателем
- **Сценарии**: каждый сценарий Умного дома предлагается как выключатель. Его включение запускает сценарий — из интерфейса или из автоматизации
- **Речь на станциях**: при входе через приложение Яндекс каждая станция становится получателем уведомлений. Включённая станция зачитывает уведомления вслух: «Движение. Камера во дворе»
- **Ассистент**: ассистент ViON может произнести фразу на станции, дать команду Алисе, запустить сценарий и узнать состояние устройств
- **Камеры**: камеры Умного дома предлагаются в разделе Cameras и показывают прямой эфир

## Два способа входа

Плагин может использовать любой из способов входа или оба сразу.

**Официальный API Умного дома.** API, который Яндекс предоставляет владельцам Умного дома. Он читает устройства и сценарии и отправляет команды. Push-уведомлений у него нет: плагин опрашивает его с интервалом (по умолчанию 10 секунд). Нужно приложение в Яндекс ID с правами iot:view и iot:control:

1. Создайте приложение на сайте Яндекс ID (oauth.yandex.ru): платформа «Веб-сервисы», права «Просмотр списка устройств умного дома» и «Управление устройствами умного дома»
2. Введите его **App ID** и **App secret** в настройках плагина и нажмите **Sign in with Yandex ID**
3. Откройте ya.ru/device на телефоне или компьютере, введите код, который показывает окно, затем нажмите кнопку в окне

Без секрета окно вместо этого показывает страницу Яндекс ID: разрешите там доступ, скопируйте токен и вставьте его в окно. Яндекс ID показывает там токен, только если у приложения задан Redirect URI oauth.yandex.ru/verification_code (с https в начале): сначала укажите его в настройках приложения на oauth.yandex.ru.

**Приложение Яндекс (ссылка или QR-код).** Плагин входит так же, как приложения Яндекса. Этот вход нужен для речи на станциях, и он сразу сообщает об изменениях датчиков:

1. Нажмите **Sign in with a link or QR code**. Откроется окно со ссылкой и QR-кодом
2. Подтвердите вход одним из двух способов:
   - **В браузере.** Нажмите кнопку справа от ссылки: Яндекс откроется в новой вкладке и попросит подтвердить вход. Если в этом браузере вы не вошли в Яндекс, сначала он попросит войти
   - **На телефоне.** Отсканируйте код приложением Яндекс на телефоне, где выполнен вход в Яндекс, и подтвердите вход в приложении. Удобно, если в браузере с ViON вход в Яндекс не выполнен
3. Вернитесь в окно и нажмите **Save**. Окно покажет аккаунт, в который вошёл плагин. Если нажать до того, как пришло подтверждение, окно ждёт до 20 секунд, а затем просит нажать снова

Подтверждайте тем аккаунтом Яндекса, к которому относится ваш Умный дом: плагин видит устройства и станции аккаунта, который подтвердил вход. Яндекс каждый раз запрашивает это подтверждение, без него вход в аккаунт не проходит.

Если у вас уже есть x_token аккаунта, можно вместо этого вставить его в поле **x_token**.

## Настройки

- **Read devices through**: Automatic использует официальный API, если по нему выполнен вход, иначе приложение Яндекс
- **Reading interval**: как часто опрашивается официальный API
- **Offer scenarios**: сценарии, предлагаемые как выключатели
- **Speech on the stations**: Local идёт напрямую на станцию в домашней сети и зачитывает текст любой длины. Cloud идёт через сценарий аккаунта, работает где бы ни находилась станция и зачитывает до 100 символов. Automatic сначала пробует Local
- **Station addresses**: только если станция не находится в сети, в виде `Kitchen = 192.168.1.20`
- **Say on a station**: проверяет речь фразой на ваш выбор
- **Sign out**: забывает оба входа и какие станции говорят. Добавленные датчики и камеры остаются

## Добавление датчиков, камер и станций

1. Выполните вход, как описано выше
2. Откройте **Sensors** в ViON: устройства Умного дома предлагаются для добавления вместе с комнатами
3. Откройте **Cameras**: камеры Умного дома находятся в разделе **Discovered**
4. В настройках уведомлений ViON, в разделе Devices, станции появляются, когда плагин вошёл через приложение Яндекс. Ни одна из них не говорит, пока вы её не включите: включите Active у тех, что должны говорить. Это может сделать только администратор ViON

## Полезно знать

- Читаются только устройства ваших собственных домов; дома, к которым вам дали доступ, — нет
- Когда Яндекс перестаёт принимать вход (пароль сменили, доступ отозвали), плагин один раз сообщает об этом в журнале, забывает этот вход и ждёт нового. Другой вход, если он есть, продолжает работать
- Устройство, которое даёт несколько датчиков, называет каждый по себе и по тому, что он показывает, на английском: "Hall sensor: Motion". Переименуйте их в ViON как удобно
- Речь и вход по QR-коду — не официальный интерфейс Яндекса. Изменения на стороне Яндекса могут потребовать обновления плагина. Для речи через облако плагин хранит по одному сценарию на станцию с названием "ViON" и id станции; не удаляйте его
- Микрофон станции недоступен сторонним системам: Алиса слушает только Яндекс. Чтобы говорить с ViON голосом, используйте навык ViON для Алисы в облаке ViON
- Видео с камеры Умного дома приходит из облака Яндекса
