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

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

Модератор: immortal

yray
Сообщения: 106
Зарегистрирован: Чт дек 14, 2017 12:51 am
Благодарил (а): 13 раз
Поблагодарили: 16 раз

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

Сообщение yray » Сб янв 11, 2020 11:58 pm

Политика Яндекса в том что алиса может воспроизводить только сообщения яндекса. Сомнительно что это можно решить модулем. Разве что через коннект и соответственно на платной основе.
Что за шум от IRBIS A ? У меня три штуки и никакого шума нет. Да и сравнивать мини с ирбисом как-то не корректно - ирбис стоит 1500р, а мини 4000. На мой взгляд цена за мини совершенно неприличная.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Вс янв 12, 2020 11:16 am

yray писал(а):
Сб янв 11, 2020 11:58 pm
Политика Яндекса в том что алиса может воспроизводить только сообщения яндекса. Сомнительно что это можно решить модулем. Разве что через коннект и соответственно на платной основе.
Что за шум от IRBIS A ? У меня три штуки и никакого шума нет. Да и сравнивать мини с ирбисом как-то не корректно - ирбис стоит 1500р, а мини 4000. На мой взгляд цена за мини совершенно неприличная.
для большой я.станции уже реализовано без коннекта. в группе в телеге уже показывали работу
Dicont
Сообщения: 112
Зарегистрирован: Вс дек 17, 2017 11:24 pm
Благодарил (а): 34 раза
Поблагодарили: 11 раз

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

Сообщение Dicont » Сб янв 18, 2020 10:06 pm

yray писал(а):
Сб янв 11, 2020 11:58 pm
Политика Яндекса в том что алиса может воспроизводить только сообщения яндекса. Сомнительно что это можно решить модулем. Разве что через коннект и соответственно на платной основе.
Что за шум от IRBIS A ? У меня три штуки и никакого шума нет. Да и сравнивать мини с ирбисом как-то не корректно - ирбис стоит 1500р, а мини 4000. На мой взгляд цена за мини совершенно неприличная.
Внешнюю акустику подключить, и будет белый шум, на мини такого нет.
yray
Сообщения: 106
Зарегистрирован: Чт дек 14, 2017 12:51 am
Благодарил (а): 13 раз
Поблагодарили: 16 раз

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

Сообщение yray » Сб янв 18, 2020 11:26 pm

к одному ирбису подключены древние Microlab SOLO-1 на постоянной основе - никакого шума нет. Опять же ирбис покупал за 1200р, точно не буду покупать мини за 4т.р. вообще ниразу она того не стоит.
Михаил1990
Сообщения: 19
Зарегистрирован: Ср янв 17, 2018 8:24 pm
Благодарил (а): 8 раз
Поблагодарили: 1 раз

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

Сообщение Михаил1990 » Ср янв 22, 2020 10:19 am

Всем привет. Прошу вашей помощи!!!
Пытаюсь настроить связку с Яндекс станцией делаю все по инструкции. Сервер majordomo стоит на Windows 10 я всю голову сломал, но никак не могу установить полученный сертификат, именно на данном этапе я встал.
Я понимаю, что данные вопросы нужно решать не в этой теме, но пишу от безысходности. Я не прошу написать подробную инструкцию подскажите хотя бы куда смотреть либо ссылку на соответствующий ресурс, где можно почитать и посмотреть как это реализуют. На форумах почти у все стоит сервер либо на малине либо на ОС Linux.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Ср янв 22, 2020 12:54 pm

Михаил1990 писал(а):
Ср янв 22, 2020 10:19 am
Всем привет. Прошу вашей помощи!!!
Пытаюсь настроить связку с Яндекс станцией делаю все по инструкции. Сервер majordomo стоит на Windows 10 я всю голову сломал, но никак не могу установить полученный сертификат, именно на данном этапе я встал.
Я понимаю, что данные вопросы нужно решать не в этой теме, но пишу от безысходности. Я не прошу написать подробную инструкцию подскажите хотя бы куда смотреть либо ссылку на соответствующий ресурс, где можно почитать и посмотреть как это реализуют. На форумах почти у все стоит сервер либо на малине либо на ОС Linux.
Берете любой клиент к тому же Lets Encrypt https://letsencrypt.org/docs/client-opt ... le-clients для виндоус, а там уже следуете инструкции выбранного клиента.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
S_Nick
Сообщения: 67
Зарегистрирован: Сб сен 30, 2017 7:44 pm
Откуда: Минск
Благодарил (а): 9 раз
Поблагодарили: 55 раз
Контактная информация:

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

Сообщение S_Nick » Ср янв 22, 2020 11:34 pm

Михаил1990 писал(а):
Ср янв 22, 2020 10:19 am
Всем привет. Прошу вашей помощи!!!
Пытаюсь настроить связку с Яндекс станцией делаю все по инструкции. Сервер majordomo стоит на Windows 10 я всю голову сломал, но никак не могу установить полученный сертификат, именно на данном этапе я встал.
Я понимаю, что данные вопросы нужно решать не в этой теме, но пишу от безысходности. Я не прошу написать подробную инструкцию подскажите хотя бы куда смотреть либо ссылку на соответствующий ресурс, где можно почитать и посмотреть как это реализуют. На форумах почти у все стоит сервер либо на малине либо на ОС Linux.
Я сгенерировал SSL сертификат под Windows на www.sslforfree.com. Одно, что его придется менять каждые 3 месяца.
Для контроля сроков сертификата есть хорошая функция:

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

/*
	$report = checkSSL('connect.smartliving.ru');
	echo 'Статус = ' . $report['status'] . '<br>';
	echo 'Действителен до = ' . $report['validTo'] . '<br>';
	echo 'Осталось дней = ' . $report['validDays'] . '<br>';
*/
function checkSSL($domain, $port = 443) {
    $result = array('status' => false, 'validTo' => '', 'validDays' => '');
    $stream = stream_context_create(array('ssl' => array('capture_peer_cert' => true)));
    $socket = stream_socket_client("ssl://$domain:$port", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $stream);
    if ($socket) {
        $cont = stream_context_get_params($socket);
        $cert_ressource = $cont['options']['ssl']['peer_certificate'];
        $cert = openssl_x509_parse($cert_ressource);
        $namepart = explode('CN=', $cert['name']);
        if (count($namepart) == 2) {
            $cert_domain = trim($namepart[1], '*. ');
            $check_domain = substr($domain, -strlen($cert_domain));
            $result['status'] = ($cert_domain == $check_domain);
            $result['validTo'] = date('Y-m-d H:i:s', $cert['validTo_time_t']);
            $result['validDays'] = date_diff(new DateTime(), new DateTime($result['validTo']))->days;
        }
    }
    return $result;
}
Подключил в Apache:

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

Listen 8443
<VirtualHost *:8443>
	# UWAMP Generate Virtual Host
	DocumentRoot "%CDPMS:DOCROOT%/"
	ServerName "main-serveur"
	SSLEngine on
	SSLCertificateKeyFile "%CDPMS:SRVDIR%Apache/certificats/private.key"
	SSLCertificateFile "%CDPMS:SRVDIR%Apache/certificats/certificate.crt"
	SSLCertificateChainFile "%CDPMS:SRVDIR%Apache/certificats/ca_bundle.crt"
	<Directory "%CDPMS:DOCROOT%/">
		AllowOverride All
		Options FollowSymLinks Indexes 
	</Directory>
</VirtualHost>
Я не пользуюсь прокси, у меня сервер смотрит в инет на белом IP и домене.
Поэтому далее отключил авторизацию модуля yandexhome путем внесения изменений в lib/general.class.php

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

if (defined('HOME_NETWORK') && HOME_NETWORK != '' && !isset($argv[0])
    && (!(preg_match('/\/gps\.php/is', $_SERVER['REQUEST_URI'])
       || preg_match('/\/yandexhome/is', $_SERVER['REQUEST_URI'])
       || preg_match('/\/trackme\.php/is', $_SERVER['REQUEST_URI'])
       || preg_match('/\/btraced\.php/is', $_SERVER['REQUEST_URI']))
       || $_REQUEST['op'] != '')
    && !preg_match('/\/rss\.php/is', $_SERVER['REQUEST_URI'])
    && 1)
{

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

|| preg_match('/\/yandexhome/is', $_SERVER['REQUEST_URI'])
С обновлением системы скорее всего это изменение слетит, неплохо было бы, если бы Сергей внес его.
В config.php для пущей надежности внес:

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

if (!(preg_match('/\/authorize\.php/is', $_SERVER['REQUEST_URI']) ||
      preg_match('/\/token\.php/is', $_SERVER['REQUEST_URI']) ||
      preg_match('/\/smarthome\.php/is', $_SERVER['REQUEST_URI'])))
{
Define('HOME_NETWORK', '192.168.0.*');                  // home network (optional)
Define('EXT_ACCESS_USERNAME', 'admin');                  // access details for external network (internet)
Define('EXT_ACCESS_PASSWORD', 'Password');
}
Включил расширение extension=pdo_mysql в php.ini
Далее столкнулся с проблемой, никак не хотел публиковаться мой приватный навык Яшке, но с попытки 20-й все удалось.
Вылетало "Неизвестная ошибка. Попробуйте отправить навык на публикацию ещё раз."
Наконец выбило Черновик опубликован. Так что, если у вас будет также, будьте настойчивы :)
Далее все пошло как надо.
Связывать аккаунты, добавлять устройства не обязательно с приложения мобильного телефона.
Можно по ссылке https://quasar.yandex.ru/skills/ главное, чтобы ваш браузер был авторизован под тем же яндекс-аккаунтом.
Также от туда можно управлять устройствами, включать и выключать свет и тд. из браузера.

И Ура все заработало!

Единственное, заметил проблему, когда переключаешь свет на телефоне в приложении яндекса, пишет "что-то пошло не так", но состояние переключает. И неправильно отображает статус включенности, свет может быть выключен, а переключатель стоять в состоянии включено или наоборот.
Возможно из-за низкой отзывчивости majordomo на windows.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт янв 23, 2020 6:37 am

S_Nick писал(а):
Ср янв 22, 2020 11:34 pm

Я не пользуюсь прокси, у меня сервер смотрит в инет на белом IP и домене.
Поэтому далее отключил авторизацию модуля yandexhome путем внесения изменений в lib/general.class.php
С обновлением системы скорее всего это изменение слетит, неплохо было бы, если бы Сергей внес его.
В config.php для пущей надежности внес:

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

if (!(preg_match('/\/authorize\.php/is', $_SERVER['REQUEST_URI']) ||
      preg_match('/\/token\.php/is', $_SERVER['REQUEST_URI']) ||
      preg_match('/\/smarthome\.php/is', $_SERVER['REQUEST_URI'])))
{
Define('HOME_NETWORK', '192.168.0.*');                  // home network (optional)
Define('EXT_ACCESS_USERNAME', 'admin');                  // access details for external network (internet)
Define('EXT_ACCESS_PASSWORD', 'Password');
}
В /lib/general естественно всё слетит. Такие изменения надо в config.php вносить, он не обновляется при обновлении системы.
S_Nick писал(а):
Ср янв 22, 2020 11:34 pm
Единственное, заметил проблему, когда переключаешь свет на телефоне в приложении яндекса, пишет "что-то пошло не так", но состояние переключает. И неправильно отображает статус включенности, свет может быть выключен, а переключатель стоять в состоянии включено или наоборот.
Возможно из-за низкой отзывчивости majordomo на windows.
Тут скорее одна из сылочек неправильно...проверьте ещё раз внимательнее что в навык внесли.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
KAKTyC
Сообщения: 11
Зарегистрирован: Вт сен 10, 2019 2:47 pm
Откуда: Москва
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение KAKTyC » Пт янв 24, 2020 10:35 pm

Вечер добрый, кто делал через vpnki.ru, что использовали? публикацию url или порта? Правильно я понял, что если используешь публикацию url то можно не генерить сертификаты, а юзать то, что дают, но с пониманием "забить на секьюрность", так как mdm полностью в инете плюс под яндекс разрешаешь подключение без авторизации.
sneg0001
Сообщения: 2
Зарегистрирован: Вс июл 09, 2017 8:38 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение sneg0001 » Вт янв 28, 2020 12:48 am

Единственное, заметил проблему, когда переключаешь свет на телефоне в приложении яндекса, пишет "что-то пошло не так", но состояние переключает. И неправильно отображает статус включенности, свет может быть выключен, а переключатель стоять в состоянии включено или наоборот.
Возможно из-за низкой отзывчивости majordomo на windows.
[/quote]

Уважаемый автор у меня такая же проблема. Если удалось ее побороть, огромная просьба написать здесь решение, или в мне в личку. Спасибо.
Ответить