[Модуль] Yandex Home (yandexhome)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

MadHan
Сообщения: 5
Зарегистрирован: Вт июл 23, 2019 2:07 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: [Модуль] Yandex Home (yandexhome)

Сообщение MadHan » Сб июл 18, 2020 10:09 pm

MadHan писал(а):
Сб июл 18, 2020 5:42 pm
Добрый день.
Проблема на стадии Объединения аккаунтов.
После нажатия кнопки "Объединить аккаунт" открывается новая страница "Вход в аккаунт MajorDoMo"
Ввожу логин-пароль, появляется Окно

Приложение Yandex Home запрашивает доступ к вашему аккаунту MajorDoMo, чтобы контролировать привязанные к нему устройства.
Предоставить доступ для Yandex Home?

Нажимаю "Предоставить" и появляется опять "Вход в аккаунт MajorDoMo"

Несколько раз вводил логин-пароль - никакого эффекта. В это время на странице с которой запускалось объединение аккаунтов висит ожидание. Если окно входа в мажордомо закрываешь - опять возвращается к кнопке "Объединить аккаунты"

В логах модуля на каждый запрос пароля два POST запроса. В первом мои логин-пароль. Во втором "<<< {"authorized":"yes"}"

МДМ на Линукс (Centos) Веб-сервер Nginx Доступ снаружи настроен к страницам yandexhome сделан через реверс прокси nginx

страницы authorize.php token.php и smarthome.php с внешнего мира доступны, паролей не запрашивают.
В логах ошибок не вижу. В служебной информации модуля поля ниже пустые.
OAuth2 Access token:
OAuth2 Access token expires:
OAuth2 Refresh token:
OAuth2 Refresh token expires:
OAuth2 Authorization code:
OAuth2 Authorization code expires:
OAuth2 Redirect URL:

В чем может быть проблема. Куда копать?
Проблема была в конфиге основного хоста мдм

В location ~ [^/]\.php(/|$) {

добавил строки

fastcgi_split_path_info ^(.+\.php)(/.+)$;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;

и проблема ушла.
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Ralan » Ср авг 05, 2020 9:34 am

Помогите разобраться.
Имею роутер Kееnetic. Соответственно имею доменнное имя вида ххххх.keenetic.pro, с сертификатом SSL. Доступ к МД из вне имеет вид ххххх.ххххх.keenetic.pro. Я так понимаю, для доступа из вне этого достаточно? На время настройки модуля доступ по логину и паролю отключил. Установил модуль, произвел первоначальные нестройки. Создал приватный навык. Он получил статус "Диалог опубликован". Но его нет в разделе "Популярные производители", соответственно объединить аккаунты не могу. Во вкладке "Тестирование" навыка имею "1. HTTP ошибка в ответе webhook: 400". Чтоя не так делаю? Где ошибка?
Что интересно, если вхожу редактировать связку аккаунтов в Диалогах, то в поле "Секрет приложения" пусто, ничего нет.
МД стоит на малине.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: [Модуль] Yandex Home (yandexhome)

Сообщение skysilver » Ср авг 05, 2020 9:49 am

Ralan писал(а):
Ср авг 05, 2020 9:34 am
Во вкладке "Тестирование" навыка имею "1. HTTP ошибка в ответе webhook: 400". Чтоя не так делаю? Где ошибка?
Проверяйте веб-хуки в браузере через мобильный интернет или через прокси. Что они отвечают?
https://ххххх.keenetic.pro/modules/yandexhome/token.php
https://ххххх.keenetic.pro/modules/yandexhome/authorize.php
https://ххххх.keenetic.pro/modules/yandexhome/smarthome.php/v1.0/user/devices
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Ralan » Ср авг 05, 2020 9:57 am

Проверяйте веб-хуки в браузере через мобильный интернет или через прокси. Что они отвечают?
https://ххххх.keenetic.pro/modules/yandexhome/token.php:

error "invalid_request"
error_description "The request method must be POST when requesting an access token"
error_uri "http://tools.ietf.org/html/rfc6749#section-3.2"

https://ххххх.keenetic.pro/modules/yandexhome/authorize.php:
error "invalid_client"
error_description "No client id supplied"

https://ххххх.keenetic.pro/modules/yandexhome/smarthome.php/v1.0/user/devices:
success false
message "Access is denied."
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: [Модуль] Yandex Home (yandexhome)

Сообщение skysilver » Ср авг 05, 2020 10:02 am

Ralan писал(а):
Ср авг 05, 2020 9:57 am
Если действительно снаружи проверяли, то опубликовано все корректно.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Ralan » Ср авг 05, 2020 10:07 am

Проверил еще раз через мобильный интернет, ответы аналогичные
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Ralan » Ср авг 05, 2020 10:10 am

Во вкладке Тестирование поле "последний запрос" выводит (незнаю, id надо скрыть?):

Response:

empty response

Request:

{
"meta": {
"locale": "ru-RU",
"timezone": "UTC",
"client_id": "ru.yandex.searchplugin/7.16 (none none; android 4.4.2)",
"interfaces": {
"screen": {},
"payments": {},
"account_linking": {}
}
},
"session": {
"message_id": 0,
"session_id": "3b1192f3-7ef2-4f00-9900-d6d1349d5eb5",
"skill_id": "35a212c1-598a-42a1-8d2e-72e6667bc5b7",
"user": {
"user_id": "613163012119427104F65B264EE4F0466CDDAD50849F60BA270F8837B4A59246"
},
"application": {
"application_id": "CEC77104022031A53EC2867D4CB59A075B8B3D9BA8D3D8219A18C4B9C5E20FFD"
},
"user_id": "CEC77104022031A53EC2867D4CB59A075B8B3D9BA8D3D8219A18C4B9C5E20FFD",
"new": true
},
"request": {
"command": "",
"original_utterance": "",
"nlu": {
"tokens": [],
"entities": [],
"intents": {}
},
"markup": {
"dangerous_context": false
},
"type": "SimpleUtterance"
},
"version": "1.0"
}
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: [Модуль] Yandex Home (yandexhome)

Сообщение skysilver » Ср авг 05, 2020 10:13 am

Ralan писал(а):
Ср авг 05, 2020 10:10 am
Во вкладке Тестирование поле "последний запрос" выводит (незнаю, id надо скрыть?):
Это навык умного дома?!
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Ralan » Ср авг 05, 2020 10:14 am

Кстати, доступ должен быть через доменное имя третьего или четвертого уровня?
https://ххххх.keenetic.pro/modules... или
https://ххххх.ххххх.keenetic.pro/modules....?
У меня сейчас https://ххххх.ххххх.keenetic.pro/modules... чтевертого уровня
Ralan
Сообщения: 47
Зарегистрирован: Пн фев 18, 2019 11:56 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Ralan » Ср авг 05, 2020 10:16 am

skysilver писал(а):
Ср авг 05, 2020 10:13 am
Ralan писал(а):
Ср авг 05, 2020 10:10 am
Во вкладке Тестирование поле "последний запрос" выводит (незнаю, id надо скрыть?):
Это навык умного дома?!
Ну да,в яндек диалогах, навык, вкладка "Тестирование" поле "Последний запрос"
Ответить