|
|
| (не показано 7 промежуточных версий 3 участников) |
| Строка 3: |
Строка 3: |
| __TOC__ | | __TOC__ |
|
| |
|
| | | {{Hands}} |
| {{Skills}} | |
|
| |
|
| == Небольшое введение == | | == Небольшое введение == |
|
| |
|
| | | Open-source платформа умного дома [https://www.home-assistant.io/ Home Assistant] (а подробнее на русском [//habr.com/ru/post/370569/ например, здесь]), написанная на питоне, поддерживает Amazon Alexa и Google Assistant. К сожалению, на момент написания статьи Yandex Smart Home / Алисы в комплектных компонентах Ассистента отсутствует. Но есть и хорошая новость: существует система пользовательских компонентов, позволяющая добавить такую поддержку вручную через компонент Yandex Smart Home. После завершения всех действий Home Assistant окажется виртуальным производителем в списке поставщиков УД приложения Яндекс. |
| Open-source платформа умного дома [https://www.home-assistant.io/ Home Assistant] (а подробнее на русском [//habr.com/ru/post/370569/ например, здесь]), написанная на питоне, поддерживает Amazon Alexa и Google Assistant. К сожалению, на момент написания статьи Yandex Smart Home / Алисы в комплектных компонентах Ассистента отсутствует. Но есть и хорошая новость: существует система пользовательских компонентов, позволяющая добавить такую поддержку вручную. После завершения всех действий Home Assistant окажется виртуальным производителем в списке поставщиков УД приложения Яндекс. | |
| | |
| | |
| Далее подразумевается, что Home Assistant уже настроен и работает - и осталось только соединить его с системой умного дома Яндекса.
| |
| | |
| | |
| == Возможности компонента ==
| |
| | |
| | |
| Неофициальный компонент из текущей инструкции пока поддерживает следующие категории устройств:
| |
| * climate (вкл/выкл, температура, режим, скорость вентиляции)
| |
| * cover (вкл/выкл = закрыть/открыть)
| |
| * fan (вкл/выкл, скорость)
| |
| * group (вкл/выкл)
| |
| * input_boolean (вкл/выкл)
| |
| * light (вкл/выкл, яркость, цвет, цветовая температура)
| |
| * media_player (вкл/выкл, вкл/выкл звука)
| |
| * switch (вкл/выкл)
| |
| * vacuum (вкл/выкл)
| |
| | |
| == Подключение компонента ==
| |
| | |
| * Настроить SSL сертификат если это ещё не было сделано.
| |
| | |
| * В [https://www.home-assistant.io/docs/configuration/ каталоге настроек] создать папку ''custom_components'', если её нет (например, ''~/.homeassistant/custom_components'');
| |
| | |
| * Склонировать (или скачать архив и распаковать) <span class="tocopy">github.com/dmitry-k/yandex_smart_home</span> в созданную папку ''.homeassistant/custom_components'' (в результате получится, например ''~/.homeassistant/custom_components/yandex_smart_home'')
| |
| | |
| * Включить компонент в ''configuration.yaml'':
| |
| ** минимальная настройка - добавить строку ''"yandex_smart_home:"''
| |
| ** более тонкая настройка описана в [//github.com/dmitry-k/yandex_smart_home/blob/master/README.md README на github]
| |
| | |
| * Перезапустить Home Assisstant
| |
| | |
| * Зайти на [//dialogs.yandex.ru dialogs.yandex.ru] и создать диалог "Умный дом" (ВАЖНО: это необходимо сделать из-под того аккаунта, который планируется использовать!)
| |
| | |
| * Заполнить форму;
| |
| ** в качестве Endpoint URL использовать https://[YOUR HOME ASSISTANT URL:PORT]/api/yandex_smart_home
| |
| ** включить приватность.
| |
| | |
| * Создать связку аккаунтов:
| |
| | |
| ::{| class="wikitable"
| |
| |-
| |
| ! scope="row" | Client identifier
| |
| | <nowiki>https://social.yandex.net/</nowiki>
| |
| |-
| |
| ! scope="row" | API authorization endpoint
| |
| | https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize
| |
| |-
| |
| ! scope="row" | Token Endpoint
| |
| | https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
| |
| |-
| |
| ! scope="row" | Refreshing an Access Token
| |
| | https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
| |
| |}
| |
| | |
| * Опубликовать/"Отправить на модерацию" (для приватных навыков она автоматическая и моментальная).
| |
| | |
| * В приложении Яндекс на Android/iOS добавить устройства (созданный нами диалог должен появиться в популярных производителях).
| |
| | |
| | |
| PROFIT!!!
| |
| | |
| | |
| == Уведомление УДЯ об изменении статуса устройств ==
| |
| | |
| | |
| Внимание! Этот функционал пока не является частью компонента yandex_smart_home.
| |
| Если есть желание попробовать - форк по [https://github.com/glebsterx/yandex_smart_home_plus/tree/light ссылке].
| |
| Обсуждаем [https://github.com/dmitry-k/yandex_smart_home/pull/164 тут].
| |
| | |
| Если вы хотите уведомлять Умный Дом Яндекса об изменении состояния ваших устройств, вам необходимо дополнительно настроить три параметра в конфигурации: [https://oauth.yandex.ru/authorize?response_type=token&client_id=c473ca268cd749d3a8371351a8f2bcbd OAuth-токен], [https://dialogs.yandex.ru/developer идентификатор навыка] в Диалогах (skill_id) и идентификатор пользователя (user_id) Home Assistant (https://[YOUR_HOME_ASSISTANT_URL:PORT]/config/users), к которому привязан навык.
| |
| | |
| [[Файл:User ID.png|мини]]
| |
| | |
| Идентификатор пользователя (user_id) это ''не то же самое'', что имя пользователя Home Assistant. Это 32-значный идентификатор, который можно узнать, выбрав нужного пользователя в настройках (см. картинку).
| |
| | |
| Пример настройки:
| |
| | |
| yandex_smart_home:
| |
| notifier:
| |
| oauth_token: AgAAAAAEEo2aYYR7m-CEyS7SEiUJjnKez3v3GZe
| |
| skill_id: d38d4c39-5846-ba53-67acc27e08bc
| |
| user_id: f9701ad48ba05a91604e480dd60899b8
| |
| | |
| | |
| == Возможные ошибки ==
| |
| | |
| | |
| === Bad certificate ===
| |
|
| |
|
|
| |
|
| Опытным путём выяснилось, возникает не только для этого компонента, но и ряда Навыков. Тонкие настройки ssl, nginx с белым ip и корректным ssl от letsencrypt - к успеху не привели. При этом та же система работает с большинством других навыков.
| | == Компонент Yandex Smart Home == |
| | * Официальная документация компонента: https://docs.yaha-cloud.ru |
| | * Чат в Telegram: https://t.me/yandex_smart_home |
| | * Исходный код: https://github.com/dext0r/yandex_smart_home |
|
| |
|
| Найденное решение: на сервере должен быть fullchain сертификат.
| |
|
| |
|
| === IPv6 === | | == Несколько аккаунтов Яндекс в одном Home Assistant == |
| Если ваш сайт доступен по IPv6, убедитесь что навык доступен по этому протоколу, так как сервера яндекса будут в первую очередь стучаться по IPv6 если он задан для домена.
| |
|
| |
|
| === Ещё варианты ===
| | Инструкции находятся здесь: |
| Так же поддержка рекомендует указать Сайт для верификации и добавить его в [https://webmaster.yandex.ru Яндекс.Вебмастер], если этого ещё не сделано.
| | * [[Home Assistant и несколько аккаунтов Яндекс: медиаплеер]] |
| Если ничего не помогает и в логах сервера не видно запросов от яндекса, то ещё можно зарегистрироваться на [https://www.cloudflare.com CloudFlare CDN] и перевести сайт на работу через этот сервис, благо бесплатный тариф там имеет весьма широкие возможности.
| | * [[Home Assistant и несколько аккаунтов Яндекс: Умный дом]] |
|
| |
|
|
| |
|
| [[Category:Умный дом]] | | [[Category:Умный дом]] |
| [[Category:Своими руками]] | | [[Category:Своими руками]] |
Требуются прямые руки И вдумчивое отношение к инструкции
Мы не несём никакой ответственности за правильное или неправильное применение, или неприменение, и/или неспособность применить данное руководство.
Телефон вызова экстренных служб - 112.
Небольшое введение
Open-source платформа умного дома Home Assistant (а подробнее на русском например, здесь), написанная на питоне, поддерживает Amazon Alexa и Google Assistant. К сожалению, на момент написания статьи Yandex Smart Home / Алисы в комплектных компонентах Ассистента отсутствует. Но есть и хорошая новость: существует система пользовательских компонентов, позволяющая добавить такую поддержку вручную через компонент Yandex Smart Home. После завершения всех действий Home Assistant окажется виртуальным производителем в списке поставщиков УД приложения Яндекс.
Компонент Yandex Smart Home
Несколько аккаунтов Яндекс в одном Home Assistant
Инструкции находятся здесь: