Skip to content
Permalink
Browse files

v.0.3-beta [Версия для тестирования]

* Исправлен вывод списка устройств на главной странице модуля.
* Исправлены опечатки в readme.
  • Loading branch information...
skysilver-lab committed Jun 12, 2019
1 parent bcd2cce commit ed085a6eeff7f98a3dcdf335af7a85c99d41fa87
@@ -4,7 +4,7 @@

Модуль **Yandex Home** предназначен для поддержки **личных** (приватных) навыков для платформы умного дома **Яндекс**. Модуль реализует **авторизационный сервис** на основе стандарта **OAuth 2.0** и **Provider Adapter API** - промежуточный API, который принимает на вход запросы в формате платформы умного дома Яндекс и преобразует их в запросы к API **MajorDoMo**.

Для успешного функционирования модуля и управления устройствами, подключенными к **MajorDoMo**, через ассистента **Яндекс Алиса** требуется, в первую очередь, **опубликовать обработчики запросов **(конечные точки, вебхуки) в сеть Интернет и обеспечить тем самым их доступность со стороны облака **Яндекс** по доменному имени (**DNS**) и протоколу **HTTPS**. Во вторую очередь, необходимо в консоли разработчика платформы Яндекс Диалогов создать, настроить и опубликовать **приватный навык** специальной категории **Умный дом**.
Для успешного функционирования модуля и управления устройствами, подключенными к **MajorDoMo**, через ассистента **Яндекс Алиса** требуется, в первую очередь, **опубликовать обработчики запросов** (конечные точки, вебхуки) в сеть Интернет и обеспечить тем самым их доступность со стороны облака **Яндекс** по доменному имени (**DNS**) и протоколу **HTTPS**. Во вторую очередь, необходимо в консоли разработчика платформы Яндекс Диалогов создать, настроить и опубликовать **приватный навык** специальной категории **Умный дом**.

В модуле **Yandex Home** все обработчики запросов реализованы в виде отдельных файлов: *authorize.php*, *token.php* и *smarthome.php*, и размещаются в директории */modules/yandexhome*.

@@ -14,7 +14,7 @@
| 2 | URL для получения и обновления токена | /modules/yandexhome/token.php | `https://majordomo.keenetic.pro:8443/modules/yandexhome/token.php` |
| 3 | URL обработчика навыка | /modules/yandexhome/smarthome.php | `https://majordomo.keenetic.pro:8443/modules/yandexhome/token.php` |

В конечном итоге **запуск модуля **сводится к такой последовательности шагов:
В конечном итоге **запуск модуля** сводится к такой последовательности шагов:
1. Установка модуля из маркета дополнений.
2. Настройка модуля.
3. Публикация обработчиков запросов.
@@ -65,7 +65,7 @@ ____
____
### **Публикация обработчиков запросов**

Механизм взаимодействия **платформы умного дома Яндекс** со сторонними системами (провайдерами) реализуется посредством **вебхуков** (webhook). Облако **Яндекс** для запроса состояния устройств и управления ими посылает **POST-** и **GET-**запросы на **конечные точки** (endpoint) вебхуков и получает ответы от них. Таким образом, для корректной работы этого механизма необходимо обеспечить постоянную доступность вебхуков из сети Интернет со стороны облака **Яндекс**.
Механизм взаимодействия **платформы умного дома Яндекс** со сторонними системами (провайдерами) реализуется посредством **вебхуков** (webhook). Облако **Яндекс** для запроса состояния устройств и управления ими посылает **POST-** и **GET-** запросы на **конечные точки** (endpoint) вебхуков и получает ответы от них. Таким образом, для корректной работы этого механизма необходимо обеспечить постоянную доступность вебхуков из сети Интернет со стороны облака **Яндекс**.

Согласно **API платформы** умного дома **Яндекс** требуется реализовать **три** **типа** конечных точек:
1. **URL авторизации** (*authorization endpoint*) - страница, на которой авторизуется пользователь, чтобы разрешить навыку доступ к своему аккаунту.
@@ -92,7 +92,7 @@ ____

**Условие №3.** Валидный SSL-сертификат на DNS-имя.

По требованиям платформы умного дома **Яндекс** весь обмен трафиком между их облаком и **MajorDoMo** должен идти в зашифрованном виде по протоколу **HTTPS**, что обеспечивается либо установкой ***SSL-сертификата*** на веб-сервер с **MajorDoMo**, либо услугами сервисов удаленного доступа (см. выше). Бесплатный SSL-сертификат можно получить у удостоверяющего центра **[Let’s Encrypt](https://letsencrypt.org)** сроком на 3 месяца, затем его нужно будет регулярно обновлять. Сертификат устанавливается либо на тот же *виртуальный сервер* **Apache**, который обслуживает **MajorDoMo**, либо на отдельный *виртуальный сервер *(**Apache** или **Nginx**), выступающий в роли обратного прокси (reverse proxy) для **MajorDoMo**. Корректность установки сертификата и доступность вашего сервера из сети Интернет по HTTPS можно проверить с помощью специализированных сервисов, например:
По требованиям платформы умного дома **Яндекс** весь обмен трафиком между их облаком и **MajorDoMo** должен идти в зашифрованном виде по протоколу **HTTPS**, что обеспечивается либо установкой ***SSL-сертификата*** на веб-сервер с **MajorDoMo**, либо услугами сервисов удаленного доступа (см. выше). Бесплатный SSL-сертификат можно получить у удостоверяющего центра **[Let’s Encrypt](https://letsencrypt.org)** сроком на 3 месяца, затем его нужно будет регулярно обновлять. Сертификат устанавливается либо на тот же *виртуальный сервер* **Apache**, который обслуживает **MajorDoMo**, либо на отдельный *виртуальный сервер* (**Apache** или **Nginx**), выступающий в роли обратного прокси (reverse proxy) для **MajorDoMo**. Корректность установки сертификата и доступность вашего сервера из сети Интернет по HTTPS можно проверить с помощью специализированных сервисов, например:
* https://ssllabs.com/ssltest/analyze.html
* https://www.geocerts.com/ssl-checker
* https://www.digicert.com/help/
@@ -241,5 +241,5 @@ ____
* Модуль в **[Connect](https://connect.smartliving.ru/tasks/482.html)**

____
####[Поддержать разработку и развитие модуля](https://connect.smartliving.ru/tasks/482.html)
#### [Поддержать разработку и развитие модуля](https://connect.smartliving.ru/tasks/482.html)
____
@@ -9,12 +9,13 @@ <h4 class="modal-title">Yandex Home</h4>
<div class="modal-body" style="padding-bottom: 1px;">
<div class="float-right">
<img src="../img/modules/yandexhome.png" width="48" height="48">
<br><br><p><b>v.0.2b</b><br>11.06.19</p>
<br><br><p><b>v.0.3b</b><br>12.06.19</p>
</div>
<p class="float-left">
Модуль поддержки <b>личных</b> (приватных) навыков для платформы умного дома <b>Яндекс</b>.<br><br>
Документация в <a href="https://kb.mjdm.ru/yandexhome_help/" target="_blank">Базе знаний</a>.<br>
Обсуждение модуля на <a href="https://mjdm.ru/forum/viewtopic.php?f=5&t=6498" target="_blank">форуме</a>.<br>
Проект в <a href="https://github.com/skysilver-lab/majordomo-yandexhome" target="_blank">Github</a>.<br>
Проект в <a href="https://connect.smartliving.ru/tasks/482.html" target="_blank">Connect</a>.<br>
</p>
<hr size="1">
@@ -16,6 +16,7 @@ <h4>[#ROOM#]</h4>
<div class="row col-md-12 col-lg-12">
[#endif#]
[#endif#]
[#if TITLE#]
<div class="col-sm-6 col-md-6 col-lg-4">
<div class="panel panel-info">
<!--# Заголовок панели #-->
@@ -40,6 +41,7 @@ <h3 class="panel-title"><b>[#TITLE#]</b></h3>
</div>
</div>
</div>
[#endif#]
[#if LAST_DEV==1 AND VIEW_STYLE="panels_group"#]
</div>
</div>
@@ -19,6 +19,7 @@
<tr class="active"><td colspan="6"><div style="font-size:16px"><b>[#ROOM#]</b></div></td></tr>
[#endif#]
[#endif#]
[#if TITLE#]
<tr style="height:52px">
<td style="vertical-align:middle;width:60px" class="text-center">
<img src="../templates/yandexhome/img/[#ICON#].svg" height="40px" onError="this.src='../img/modules/yandexhome.png'">
@@ -51,6 +52,7 @@
</div>
</td>
</tr>
[#endif#]
[#end RESULT#]
</tbody>
</table>

0 comments on commit ed085a6

Please sign in to comment.
You can’t perform that action at this time.