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

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

Модератор: immortal

Аватара пользователя
webms
Сообщения: 460
Зарегистрирован: Чт дек 15, 2016 3:13 am
Благодарил (а): 197 раз
Поблагодарили: 85 раз

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

Сообщение webms » Чт июн 13, 2019 11:45 am

Возможность выбора сценарий а не объект.свойство
Вложения
Clip2net_190613114527.png
Clip2net_190613114527.png (16.34 КБ) 2963 просмотра
skysilver
Сообщения: 2969
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 390 раз
Поблагодарили: 1690 раз
Контактная информация:

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

Сообщение skysilver » Чт июн 13, 2019 11:54 am

webms писал(а):
Чт июн 13, 2019 11:45 am
Возможность выбора сценарий а не объект.свойство
Это только усложнит. Свойство все-равно нужно, т.к. откуда-то надо брать текущее состояние устройства. А привязка сценариев опять же предполагает введение новых форм и условий - если on == 0, то сценарий "выключить", если on == 1, то сценарий "включить". Ладно, если этих значений только два, а если больше? И это только один частный случай. В общем, не вижу смысла ни методы вводить, ни сценарии.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
C_3AXAPOB
Сообщения: 510
Зарегистрирован: Ср июн 08, 2016 4:17 pm
Благодарил (а): 124 раза
Поблагодарили: 100 раз

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

Сообщение C_3AXAPOB » Чт июн 13, 2019 2:01 pm

У меня вопрос. В видео Яндекса Алиса ловко управляет кондиционером, реагируя на команды сделай теплее, сделай прохладнее. Как это реализовано? Вроде метрик связанных с теплом нет. Через сценарий Алисы? Вроде если сказали сделать теплее включи кондиционер?
Orange pi pc plus, megaD-2561, Xiaomi
--------------------------------------------------
http://connect.smartliving.ru/profile/908
skysilver
Сообщения: 2969
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 390 раз
Поблагодарили: 1690 раз
Контактная информация:

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

Сообщение skysilver » Чт июн 13, 2019 3:10 pm

C_3AXAPOB писал(а):
Чт июн 13, 2019 2:01 pm
У меня вопрос. В видео Яндекса Алиса ловко управляет кондиционером, реагируя на команды сделай теплее, сделай прохладнее. Как это реализовано? Вроде метрик связанных с теплом нет. Через сценарий Алисы? Вроде если сказали сделать теплее включи кондиционер?
Через специальные метрики (умения), поддержку которых в модуль пока не завезли. :)
За это сообщение автора skysilver поблагодарил:
TurburatoR (Пт июн 14, 2019 5:25 am)
Рейтинг: 1.2%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Pau1td
Сообщения: 70
Зарегистрирован: Ср июл 11, 2018 4:17 pm
Благодарил (а): 33 раза
Поблагодарили: 7 раз

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

Сообщение Pau1td » Чт июн 13, 2019 11:42 pm

Уважаемый skysilver,
насколько я понимаю, сертификаты нужно будет скопировать в /etc/apache2/ssl/webhooks/ или указать к ним путь
Перебрал уже все описанные варианты на certbot.eff.org, но сертификатов нет, одни ошибки, ничего не получается (((

Объясните, пожалуйста, как получить сертификат "На зарегистрированное доменное имя выпустил SSL-сертификат от Let’s Encrypt с помощью консольной утилиты certbot" ?
iden
Сообщения: 82
Зарегистрирован: Вт мар 13, 2018 1:51 pm
Благодарил (а): 34 раза
Поблагодарили: 6 раз

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

Сообщение iden » Пт июн 14, 2019 4:18 am

Pau1td писал(а):
Чт июн 13, 2019 11:42 pm
Уважаемый skysilver,
насколько я понимаю, сертификаты нужно будет скопировать в /etc/apache2/ssl/webhooks/ или указать к ним путь
Перебрал уже все описанные варианты на certbot.eff.org, но сертификатов нет, одни ошибки, ничего не получается (((
при получении сертифекатов нужно открыть, временно, доступ на 80 порт из вне.
перемещать не нужно, указать путь к сертификатам. у меня сертификат по умолчанию etc/letsencrypt/live/ваш.сервер.ру/

Отличный модуль, работает без сбоев, спасибо.

пс: и лучше бы ошибки которые пишит тут покажите.
За это сообщение автора iden поблагодарил:
Pau1td (Пт июн 14, 2019 8:57 pm)
Рейтинг: 1.2%
skysilver
Сообщения: 2969
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 390 раз
Поблагодарили: 1690 раз
Контактная информация:

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

Сообщение skysilver » Пт июн 14, 2019 1:11 pm

Pau1td писал(а):
Чт июн 13, 2019 11:42 pm
Объясните, пожалуйста, как получить сертификат.
Такие вопросы в отдельную тему нужно оформлять. К модулю очень косвенно относится.
По существу, добавить к словам iden мне нечего. Ключевые моменты он озвучил.
За это сообщение автора skysilver поблагодарил:
Pau1td (Пт июн 14, 2019 8:57 pm)
Рейтинг: 1.2%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
doc_bravn
Сообщения: 119
Зарегистрирован: Чт янв 30, 2014 1:14 pm
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 1 раз

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

Сообщение doc_bravn » Пт июн 14, 2019 3:51 pm

Есть у меня универсальный пульт Broadlink RP Pro Plus. Через модуль Broadlink считан ИК код пульта от телевизора. По инструкции
https://kb.mjdm.ru/broadlink_rm_switch_sd/
созданы свойства и методы command_on и command_off и к ним привязаны команды пульта. Установил ваш модуль Yandex Home, все настройки по созданию навыка и связке аккаунтов выполнил. В приложение Яндекс передаются созданные в модуле устройства. При добавлении устройства в Yandex Home выбираю "Телевизор", далее заполняю поля и выбираю в "Характеристики (*): (возможности, умения)" умение "Включить/выключить (on)". Затем нажимаю "+" справа от умения. В появившихся полях выбираю свое простое устройство (Relay01 Телевизор) и справа выбираю созданное при настройке команд пульта свойство "command_on Команда на включение". И у меня возникает вопрос: а как будет отдаваться команда на выключение модулем? Телик у меня конечно с физического родного пульта включается и выключается одной кнопкой. В настройках модуля Broadlink в команде на включение и выключение записан один и тот же код кнопки. Но команды две. А как ваш модуль поступает в этом случае?
skysilver
Сообщения: 2969
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 390 раз
Поблагодарили: 1690 раз
Контактная информация:

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

Сообщение skysilver » Пт июн 14, 2019 4:50 pm

doc_bravn писал(а):
Пт июн 14, 2019 3:51 pm
По инструкции https://kb.mjdm.ru/broadlink_rm_switch_sd/ созданы свойства и методы command_on и command_off и к ним привязаны команды пульта.
Если делали все по инструкции, то в модуле Yandex Home к умению On нужно привязать объект Relay01 и его свойство status.

Логика простая. По команде Алисе "включи" модуль запишет в свойство status единицу. Далее отработает метод statusUpdated, привязанный на изменение этого свойства. И т.к. значение status в этот момент равно 1, то в command_on запишется 1, и модуль Броадлинк отправит команду на включение. По команде Алисе "вЫключи" модуль запишет в свойство status ноль. Далее снова отработает метод statusUpdated, привязанный на изменение этого свойства. И т.к. значение status в этот момент равно 0, то в command_off запишется 1, и модуль Броадлинк отправит команду на вЫключение.
За это сообщение автора skysilver поблагодарил:
doc_bravn (Пт июн 14, 2019 5:30 pm)
Рейтинг: 1.2%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
doc_bravn
Сообщения: 119
Зарегистрирован: Чт янв 30, 2014 1:14 pm
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 1 раз

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

Сообщение doc_bravn » Пт июн 14, 2019 5:03 pm

skysilver писал(а):
Пт июн 14, 2019 4:50 pm

Если делали все по инструкции, то в модуле Yandex Home к умению On нужно привязать объект Relay01 и его свойство status.

Логика простая. По команде Алисе "включи" модуль запишет в свойство status единицу. Далее отработает метод statusUpdated, привязанный на изменение этого свойства. И т.к. значение status в этот момент равно 1, то в command_on запишется 1, и модуль Броадлинк отправит команду на включение. По команде Алисе "вЫключи" модуль запишет в свойство status ноль. Далее снова отработает метод statusUpdated, привязанный на изменение этого свойства. И т.к. значение status в этот момент равно 0, то в command_off запишется 1, и модуль Броадлинк отправит команду на вЫключение.
Огромное Вам спасибо за ответ! Изменил настройки и к Relay01 указал не "command_on", а свойство "status". Я еще совсем новичок в Majordomo. Установил Majordomo только вчера и начал в нем экспериментировать. Ну и, к сожалению, не программист.

Делал по инструкции которую выше прикладывал. Там в этой инструкции в метод statusUpdated пишется в настройках такой код:

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

if ($this->getProperty('status')) {
 $this->setProperty('command_on',1);
} else {
 $this->setProperty('command_off',1);
}
Как я понимаю этот метод как раз и пишет измененное значение в свойство. Я верно понимаю?
Ответить