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

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

Модератор: immortal

Аватара пользователя
ewgenchik
Сообщения: 6
Зарегистрирован: Сб фев 25, 2017 8:41 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение ewgenchik » Чт окт 07, 2021 6:55 pm

SmoKE_xDDD писал(а):
Вт сен 07, 2021 12:20 pm
Ошибки отключите и будет вам счастье.
Не сможете подсказать поподробнее как это сделать ?
zorg
Сообщения: 20
Зарегистрирован: Чт июл 04, 2019 8:05 am
Благодарил (а): 1 раз
Поблагодарили: 2 раза

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

Сообщение zorg » Вс ноя 07, 2021 10:15 pm

Добрый день, подскажите, можно Алису заставить дергать 2 свойства устройства? Или запускать сценарий? Что я в итоге хочу добиться, при фразе: Алиса включи свет, мне нужно от неё получить ответ (включила .....), пытаюсь реализовать следующим путём : в объектах добавил свойство AlisaSay (оно проверяет статус устройства, формирует ответ в текст и отправляет на колонку), но нет возможности добавить переключать второе свойство в устройстве, при нажатии на + умение on/off более не доступно (если добавлено уже одно свойство).
zorg
Сообщения: 20
Зарегистрирован: Чт июл 04, 2019 8:05 am
Благодарил (а): 1 раз
Поблагодарили: 2 раза

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

Сообщение zorg » Вс ноя 07, 2021 10:42 pm

zorg писал(а):
Вс ноя 07, 2021 10:15 pm
Добрый день, подскажите, можно Алису заставить дергать 2 свойства устройства? Или запускать сценарий? Что я в итоге хочу добиться, при фразе: Алиса включи свет, мне нужно от неё получить ответ (включила .....), пытаюсь реализовать следующим путём : в объектах добавил свойство AlisaSay (оно проверяет статус устройства, формирует ответ в текст и отправляет на колонку), но нет возможности добавить переключать второе свойство в устройстве, при нажатии на + умение on/off более не доступно (если добавлено уже одно свойство).
Отвечу сам себе, создал свойство, которое дергает основной статус и меняет его + в зависимости от статуса проговаривает его состояние в колонку. Но буду признателен если кто подскажет, как можно определять с какой колонки пришел запрос, на подобии sayTo?
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

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

Сообщение V.A.S.t » Пн ноя 08, 2021 4:02 am

zorg писал(а):
Вс ноя 07, 2021 10:42 pm
zorg писал(а):
Вс ноя 07, 2021 10:15 pm
Добрый день, подскажите, можно Алису заставить дергать 2 свойства устройства? Или запускать сценарий? Что я в итоге хочу добиться, при фразе: Алиса включи свет, мне нужно от неё получить ответ (включила .....), пытаюсь реализовать следующим путём : в объектах добавил свойство AlisaSay (оно проверяет статус устройства, формирует ответ в текст и отправляет на колонку), но нет возможности добавить переключать второе свойство в устройстве, при нажатии на + умение on/off более не доступно (если добавлено уже одно свойство).
Отвечу сам себе, создал свойство, которое дергает основной статус и меняет его + в зависимости от статуса проговаривает его состояние в колонку. Но буду признателен если кто подскажет, как можно определять с какой колонки пришел запрос, на подобии sayTo?
А почему из модуля не дергать свойство с привязанным к нему методом, а в методе делать уже все, что заблагорассудится, опираясь на $params['NEW_VALUE']?

Код: Выделить всё

$command = $params['NEW_VALUE'];
//Дергаем метод
callMethod('Svet_v_zale', 'on'->$command);
//Или свойство
setGlobal("Svet_v_zale.status", $command);
if($command) $text = "включен";
else $text = "выключен";
$phrase = "Свет в зале ".$text.".";
say($phrase, 9);
zorg
Сообщения: 20
Зарегистрирован: Чт июл 04, 2019 8:05 am
Благодарил (а): 1 раз
Поблагодарили: 2 раза

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

Сообщение zorg » Пн ноя 08, 2021 11:31 am

V.A.S.t писал(а):
Пн ноя 08, 2021 4:02 am
zorg писал(а):
Вс ноя 07, 2021 10:42 pm
zorg писал(а):
Вс ноя 07, 2021 10:15 pm
Добрый день, подскажите, можно Алису заставить дергать 2 свойства устройства? Или запускать сценарий? Что я в итоге хочу добиться, при фразе: Алиса включи свет, мне нужно от неё получить ответ (включила .....), пытаюсь реализовать следующим путём : в объектах добавил свойство AlisaSay (оно проверяет статус устройства, формирует ответ в текст и отправляет на колонку), но нет возможности добавить переключать второе свойство в устройстве, при нажатии на + умение on/off более не доступно (если добавлено уже одно свойство).
Отвечу сам себе, создал свойство, которое дергает основной статус и меняет его + в зависимости от статуса проговаривает его состояние в колонку. Но буду признателен если кто подскажет, как можно определять с какой колонки пришел запрос, на подобии sayTo?
А почему из модуля не дергать свойство с привязанным к нему методом, а в методе делать уже все, что заблагорассудится, опираясь на $params['NEW_VALUE']?

Код: Выделить всё

$command = $params['NEW_VALUE'];
//Дергаем метод
callMethod('Svet_v_zale', 'on'->$command);
//Или свойство
setGlobal("Svet_v_zale.status", $command);
if($command) $text = "включен";
else $text = "выключен";
$phrase = "Свет в зале ".$text.".";
say($phrase, 9);
Собственно это и описал) просто может не информативно выразился. Добавил свойство статус для алисы, и в методе уже прописал что мне нужно.
Goalan74
Сообщения: 7
Зарегистрирован: Пт апр 05, 2019 1:16 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение Goalan74 » Ср дек 01, 2021 2:19 pm

Дорогие друзья, прошу помощи.
3 дня бьюсь с публикацией навыка.
Все делал по инструкциям, в т.ч. - https://mjdm.ru/forum/viewtopic.php?f=3 ... 43#p124145
Никаких проблем в ходе настройки не возникло.
Имею: Raspberry pi 3, Apache, DNS имя через роутер tp-link (mysite.tplinkdns.com).
SSL на DNS имя получил по той же инструкции.
Сайты, которые приводил уважаемый автор модуля, для проверки видимости, все показывают ОК.
Через LTE, захожу на сайт без проблем (https://mysite.tplinkdns.com).
Проблема в следующем:
В ЯДиалогах создаю навык для управления УД.
Заполняю все поля на вкладке Главные настройки.
Заполняю все поля на вкладке Связка аккаунтов, сохряняю.
На вкладке настроек нажимаю Опубликовать.
В ответ:
Настройки.jpg
Настройки.jpg (402.39 КБ) 1598 просмотров
Если перейти на вкладку Тестирование:
Нажимаю плюсик, Устройство умного дома, привязать к Яндексу.
Прохожу авторизацию, предоставляю доступы.
В тестировании появляется кнопка "Обновить список устройств"
Нажимаю -> получаю:
Обновить.jpg
Обновить.jpg (235 КБ) 1598 просмотров
Очень прошу помощи. Возможно по TeamViewer.
Goalan74
Сообщения: 7
Зарегистрирован: Пт апр 05, 2019 1:16 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение Goalan74 » Ср дек 01, 2021 6:13 pm

skysilver писал(а):
Вс июн 13, 2021 1:41 pm
Проверь OAuth ID в настройках модуля и в навыке. Похоже, что они разные.
Здравствуйте! Возможно Яндекс что-то поменял. Сейчас интерфейс Диалогов не соответствует ни одной инструкции. Никак не могу опубликовать навык. Если есть возможность, пожалуйста помогите разобраться. 3 ночи не сплю)
Goalan74
Сообщения: 7
Зарегистрирован: Пт апр 05, 2019 1:16 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение Goalan74 » Пн дек 06, 2021 3:35 pm

Проблему решил, но причина до сих пор не понятна.
Если вкратце, 5 суток бился с публикацией диалога под tplinkdns от роутера.
В конце концов воспользовался no-ip и все получилось.
Чем это вызвано не понимаю(
No-ip конечно не выход, видимо нужно сменить роутер на keenetik.
Все добра!
mrdenis
Сообщения: 31
Зарегистрирован: Чт мар 19, 2015 7:55 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

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

Сообщение mrdenis » Пт дек 17, 2021 7:37 am

Добрый день.

Заколебался думать :), всю ветку не хватило терпения прочитать (если что извиняюсь:).
Не могу связать аккаунты. Вроде все доступы предоставились, но
после формы аутентификации в модуле Яндекс выдает это:
--------------
Произошла ошибка
Нарушена целостность данных.
56944-2a2e84170c584cff9312527686647408-1639714519
-------------
Пересоздание Диалога не помогло.
В логе модуля вот так:
--------------
11:43:09 0.95481200 GET /modules/yandexhome/authorize.php?state=https%3A%2F%2Fsocial.yandex.ru%2Fbroker2%2Fauthz_in_web%2Fххххххххх%2Fcallback&redirect_uri=https%3A%2F%2Fsocial.yandex.net%2Fbroker%2Fredirect&response_type=code&client_id=ххххххх-ххх 185.19.23.166 <<< []
11:43:18 0.08284700 POST /modules/yandexhome/authorize.php?state=https%3A%2F%2Fsocial.yandex.ru%2Fbroker2%2Fauthz_in_web%2Fххххххххх%2Fcallback&redirect_uri=https%3A%2F%2Fsocial.yandex.net%2Fbroker%2Fredirect&response_type=code&client_id=ххххххх-ххх 185.19.23.166 <<< {"login":"ххх","password":"ххх"}
11:43:20 0.05171800 POST /modules/yandexhome/authorize.php?state=https%3A%2F%2Fsocial.yandex.ru%2Fbroker2%2Fauthz_in_web%2Fххххххххх%2Fcallback&redirect_uri=https%3A%2F%2Fsocial.yandex.net%2Fbroker%2Fredirect&response_type=code&client_id=ххххххх-ххх 185.19.23.166 <<< {"authorized":"yes"}
11:43:20 0.11769700 authorize.php >>> HTTP/1.1 302 Found
Content-Type: application/json
Location: https://social.yandex.net/broker/redire ... 2Fcallback
----------------
Куда еще покопать, чтобы заработало ?

И ЕЩЁ !
Попутно с основным вопросом еще один: все делают сертификаты у операторов, а самоподписанный сертификат это проблема, не будет с ним нормально работать ?
Может конечно у меня проблема из-за этого... Но скорее всего тогда бы и аутентификация в модуле не работала.

Заранее спасибо за помощь!
Аватара пользователя
nickneo
Сообщения: 89
Зарегистрирован: Чт дек 07, 2017 2:36 pm
Благодарил (а): 38 раз
Поблагодарили: 30 раз

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

Сообщение nickneo » Сб дек 18, 2021 11:07 pm

mrdenis писал(а):
Пт дек 17, 2021 7:37 am
Добрый день.



И ЕЩЁ !
Попутно с основным вопросом еще один: все делают сертификаты у операторов, а самоподписанный сертификат это проблема, не будет с ним нормально работать ?
Может конечно у меня проблема из-за этого... Но скорее всего тогда бы и аутентификация в модуле не работала.

Заранее спасибо за помощь!
С самоподписанным конечно не будет работать!
для создания сертификата погуглите как настроить Let's Encrypt и будет вам счастье )

PS: вот пример как выполняется настройка Apache + Lets Encrypt: https://losst.ru/ustanovka-ssl-sertifik ... ts-encrypt
За это сообщение автора nickneo поблагодарил:
jeckob (Чт дек 30, 2021 11:18 am)
Рейтинг: 1.16%
Ответить