SmartLiving.ru

Обсуждение проекта
 
Текущее время: Сб фев 24, 2018 6:56 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 136 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14  След.
Автор Сообщение
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Вт фев 13, 2018 10:32 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вс апр 09, 2017 2:36 pm
Сообщения: 270
Благодарил (а): 72 раз.
Поблагодарили: 10 раз.
А Google assistant не работает пока?

_________________
Broadlink + Orange Pi PC ARMBIAN 5.31


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Вт фев 13, 2018 11:26 pm 
Не в сети

Зарегистрирован: Сб янв 13, 2018 5:00 pm
Сообщения: 62
Благодарил (а): 3 раз.
Поблагодарили: 26 раз.
vitt76 писал(а):
А Google assistant не работает пока?


С русским - нет. И в ближайшее время не обещают. К тому же ключевая фраза OK Google как-то не очень подходит для общения с умным домом


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Ср фев 14, 2018 1:57 am 
Не в сети

Зарегистрирован: Чт июн 02, 2016 9:33 pm
Сообщения: 612
Благодарил (а): 122 раз.
Поблагодарили: 47 раз.
fandaymon писал(а):
Ну и совершенно зря... Для некоторых применений API.AI очень удобен. Например, я с его помощью реализовал добавление голосом в гугл календарь разных мероприятий

Говоришь, например Добавь напоминание в среду в 17:00 встреча или Добавь напоминание Завтра День рождения или Добавь напоминание на 30 марта в десять Отправить показания, а модуль возвращает тебе дату,время и текст напоминания, остаётся только добавить в календарь. Да, конечно, всё это можно сделать и шаблонами, но придётся помучиться...


делись кодом )

_________________
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Ср фев 14, 2018 2:01 am 
Не в сети

Зарегистрирован: Чт июн 02, 2016 9:33 pm
Сообщения: 612
Благодарил (а): 122 раз.
Поблагодарили: 47 раз.
ребят, на счёт приоритетов, ну вот лично я уже давно отказался от шаблонов и использую только API.AI, но я понимаю что другим удобнее шаблоны. Что думаете если добавить в настройки возможность через интерфейс выставлять приоритет для шаблонов, ПУ и API.AI ?

_________________
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Ср фев 14, 2018 3:53 am 
Не в сети

Зарегистрирован: Сб янв 13, 2018 5:00 pm
Сообщения: 62
Благодарил (а): 3 раз.
Поблагодарили: 26 раз.
Gelezako писал(а):
fandaymon писал(а):
Ну и совершенно зря... Для некоторых применений API.AI очень удобен. Например, я с его помощью реализовал добавление голосом в гугл календарь разных мероприятий

Говоришь, например Добавь напоминание в среду в 17:00 встреча или Добавь напоминание Завтра День рождения или Добавь напоминание на 30 марта в десять Отправить показания, а модуль возвращает тебе дату,время и текст напоминания, остаётся только добавить в календарь. Да, конечно, всё это можно сделать и шаблонами, но придётся помучиться...


делись кодом )


Скачал на https://github.com/google/google-api-php-client файл, распаковал его в директорию Google в корне веб-сервера. В lib не стал помещать, так как там старая гугловская библиотека от модуля Ивана.

Далее - сделал сервисный экаунт, как написано здесь http://rtportal.ru/index.php?id=164:calendar-python-bot

Получил джейсон, сохранил его на Desktop
Зашел в настройки своего гугл-календаря и в пункте Доступ для отдельных пользователей, дал разрешение на редактирование имейлу, который присваивается сервисному экаунту (Без этого пункта сервисный экаунт не хотел видеть мой календарь)

На apia.ai сделал intent Add_Event, который возвращает Event_Date @sys.date, Event_Desc @sys.any и Event_Time@sys.time. Потренировал на нескольких фразах, так чтобы бралась обязательная дата, необязательное время, а всё что после - в само напоминание
Ну и сделал в модуле api.ai для Add_Event такой скриптик
[Показать] Скрытый текст:
Код:
// $params['Event_Date']
// $params['Event_Desc'] 
// $params['Event_Time']
require_once './Google/vendor/autoload.php';

putenv('GOOGLE_APPLICATION_CREDENTIALS=/home/pi/Desktop/sarah-home-calendar.json');
$client = new Google_Client();

$event_desc=$params['Event_Desc'];

$client->useApplicationDefaultCredentials();
$client->setApplicationName(‘TestCalendarAPI’);
$client->setScopes('https://www.googleapis.com/auth/calendar');
$service = new Google_Service_Calendar($client);

$calendarId = 'mail@gmail.com';  // Тут надо поставить свой адрес 

if ($params['Event_Time']=='') {
$event = new Google_Service_Calendar_Event(array(
  'summary' => $event_desc,
  'location' => '',
  'description' => '',
  'start' => array(
    'date' => $params['Event_Date'],
    'timeZone' => 'Europe/Riga',
  ),
  'end' => array(
    'date' => $params['Event_Date'],
    'timeZone' => 'Europe/Riga',
  ),
  'attendees' => array(
    array('email' => 'mail@gmail.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));
}
else {
$event = new Google_Service_Calendar_Event(array(
  'summary' => $event_desc,
  'location' => '',
  'description' => '',
  'start' => array(
    'dateTime' => $params['Event_Date'] . 'T' . $params['Event_Time'],
    'timeZone' => 'Europe/Riga',
  ),
  'end' => array(
    'dateTime' => $params['Event_Date'] . 'T' . $params['Event_Time'],
    'timeZone' => 'Europe/Riga',
  ),
  'attendees' => array(
    array('email' => 'mail@gmail.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));
}
$event = $service->events->insert($calendarId, $event);


Как-то так...

Проверка о мероприятиях на сегодня примерно так

[Показать] Скрытый текст:
Код:
require_once './Google/vendor/autoload.php';

putenv('GOOGLE_APPLICATION_CREDENTIALS=/home/pi/Desktop/sarah-home-calendar.json');
$client = new Google_Client();

$client->useApplicationDefaultCredentials();
$client->setApplicationName(‘TestCalendarAPI’);
$client->setScopes('https://www.googleapis.com/auth/calendar');
$service = new Google_Service_Calendar($client);

$calendarId = 'lv.latvian#holiday@group.v.calendar.google.com';
$optParams = array(
  'maxResults' => 10,
  'orderBy' => 'startTime',
  'singleEvents' => TRUE,
  'timeMin' => date('c'),
  'timeMax' => date('Y-m-d',strtotime('tomorrow')) .'T00:00:00+02:00',
);
$results = $service->events->listEvents($calendarId, $optParams);

$today_events='';
 
if 
(count($results->getItems()) == 0) {
}
 else {
  foreach ($results->getItems() as $event) {
    $start = $event->start->dateTime;
    if (empty($start)) {
     $start='';
    }
   else {
    $start=date_format(date_create($start),'H:i');
   } 
   $today_events
.=$start . ' ' . holidaysru($event->getSummary()) . '. ';
  }
}
 
 
$calendarId 
= 'mail@gmail.com';
$optParams = array(
  'maxResults' => 10,
  'orderBy' => 'startTime',
  'singleEvents' => TRUE,
  'timeMin' => date('c'),
  'timeMax' => date('Y-m-d',strtotime('tomorrow')) .'T00:00:00+02:00',
);
$results = $service->events->listEvents($calendarId, $optParams);
 
if 
(count($results->getItems()) == 0) {
}
 else {
  foreach ($results->getItems() as $event) {
    $start = $event->start->dateTime;
    if (empty($start)) {
     $start='';
    }
   else {
    $start=date_format(date_create($start),'H:i');
   } 
   $today_events
.=$start . ' ' . $event->getSummary() . '. ';
  }
}
 
if 
($today_events<>'') {
 $hello.='Сегодня: ' . $today_events;
}


Сначала проверяются праздники, потом то что запланировано в гугл-календаре. За качество кода не отвечаю, так как на PHP до Мажордомо не писал, но вроде работает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Ср фев 14, 2018 6:57 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вс апр 09, 2017 2:36 pm
Сообщения: 270
Благодарил (а): 72 раз.
Поблагодарили: 10 раз.
fandaymon писал(а):
vitt76 писал(а):
А Google assistant не работает пока?


С русским - нет. И в ближайшее время не обещают. К тому же ключевая фраза OK Google как-то не очень подходит для общения с умным домом

Я встроенной интеграции в api.ai, с ходу не разобрался что там надо сделать.

_________________
Broadlink + Orange Pi PC ARMBIAN 5.31


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Вт фев 20, 2018 9:49 am 
Не в сети

Зарегистрирован: Сб мар 19, 2016 7:24 pm
Сообщения: 370
Благодарил (а): 150 раз.
Поблагодарили: 12 раз.
Камрады, а кто нибудь может подсказать как в обсуждаемом сервисе переключаются контексты? если уж пользоваться, то построение нелинейный диалогов кажется наиболее правильным вариантом.
С простым получением параметров из той или иной фразы проблем не возникло. Отдельное спасибо Игорю (Gelezako).
т.е. "расскажи о погоде", где "погода" является сущностью/параметром
или "расскажи анекдот", где последнее параметр, с подобным все ок, а вот так, чтобы
"расскажи" - как контекст с исходящими контекстами: "о погоде", "анекдот", "новости", ..... с этим затык
PS. про построение нелинейных диалогов читал в документации сервиса
https://dialogflow.com/docs/dialogs
но на строчке
Цитата:
...
Set the Action to question.location
...

возникает устойчивое непонимание происходящего

_________________
MD на raspberry pi2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Вт фев 20, 2018 10:55 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт окт 14, 2014 11:27 pm
Сообщения: 868
Откуда: Санкт-Петербург
Благодарил (а): 187 раз.
Поблагодарили: 73 раз.
Denis_k писал(а):
Камрады, а кто нибудь может подсказать как в обсуждаемом сервисе переключаются контексты?...


Тут объясняется доходчиво и по русски, есть и про контексты.
Оно?

Отправлено с моего Redmi Note 4 через Tapatalk

_________________
Управление Умным домом по технологии OK Google на базе orange pi zero и Google assistant SDK и API.AI
:arrow: Обсужение
:arrow: GitHub
:arrow: Connect
Rasberry Pi 2, MDM, MySensors, куча китайских датчиков.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Вт фев 20, 2018 10:57 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт окт 14, 2014 11:27 pm
Сообщения: 868
Откуда: Санкт-Петербург
Благодарил (а): 187 раз.
Поблагодарили: 73 раз.
Правда, помоему модуль Мажордомо не отрабатывает контексты. Вроде как обсуждалось ранее.

Отправлено с моего Redmi Note 4 через Tapatalk

_________________
Управление Умным домом по технологии OK Google на базе orange pi zero и Google assistant SDK и API.AI
:arrow: Обсужение
:arrow: GitHub
:arrow: Connect
Rasberry Pi 2, MDM, MySensors, куча китайских датчиков.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль API.AI
СообщениеДобавлено: Вт фев 20, 2018 10:18 pm 
Не в сети

Зарегистрирован: Сб мар 19, 2016 7:24 pm
Сообщения: 370
Благодарил (а): 150 раз.
Поблагодарили: 12 раз.
lanket писал(а):
Denis_k писал(а):
Камрады, а кто нибудь может подсказать как в обсуждаемом сервисе переключаются контексты?...

Тут объясняется доходчиво и по русски, есть и про контексты.
Оно?
это видел, но про контексты там как раз нет

_________________
MD на raspberry pi2


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 136 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: alkaloidus, Jilber и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB