Новое в работе с терминалами, sayTo, sayReply
Добавлено: Ср июн 01, 2016 1:16 pm
Картинка для привлечения внимания
Новое в терминалах
1. В настройке терминалов появилась галочка MajorDroidAPI -- говорит системе о том, что терминал представляет собой планшет с установленной программой MajorDroid
2. Там же в настройках можно указать, с каким объектом связан терминал и из какого свойства этого объекта брать минимальный уровень сообщений для проговаривания голосом (последнее работает только в случае включенного MajorDroidAPI). Если объект и/или свойство не указано, то используется глобальный уровень минимальной важности minMsgLevel
3. Функция say теперь пытается донести фразу не только в общий канал, но и на каждый терминал в отдельности
4. Добавилась функция sayTo с параметрами (ФРАЗА, УРОВЕНЬ, НАЗНАЧЕНИЕ) -- в качестве НАЗНАЧЕНИЯ можно использовать системное имя терминала и если это терминал на MajorDroid, то ему отправится команда для произношения. В любом случае из этой функции создаётся событие SAYTO (вида: processSubscriptions('SAYTO', array('level' => $level, 'message' => $ph, 'destination' => $destination));), которое может быть перехвачено сторонними модулями -- на заметку тем, кто захочет создать свой модуль для организации работы с различными устройствами доставки сообщений на определённый канал.
5. Добавилась функция sayReply с параметрами (ФРАЗА, УРОВЕНЬ, ОТВЕТ_НА_ЧТО) -- последние два параметра не обязательны. Эта функция ведёт себя следующим образом:
* Если указан параметр ОТВЕТ_НА_ЧТО, то система попытается найти терминал, с которого был запрос, содержащий данную фразу
* Если не указан параметр ОТВЕТ_НА_ЧТО, то система выберет терминал, с которого был любой запрос в течении последних 5 секунд
* Если терминал найден, то ответ будет направлен на него (с помощью той же функции sayTo)
* Если терминал не найден, то ответ будет озвучен в обычном порядке (аналогично просто использованию функции say).
6. При вызове домашней страницы можно указать системное имя терминала. Например, http://192.168.0.1/?terminal=main или http://192.168.0.1/pages.html?terminal=main . Если этот параметр указан, то система сама создат запись соответствующего терминала в настройках (при его отсутствии) и будет устанавливать корректно источник последующих запросов.
Для чего это всё
Для того, чтобы можно было организовать адресное общение с пользователем при наличии дома нескольких точек взаимодействия (терминалов). Для ответа на запросы пользователя теперь будет более уместно использовать не say, а sayReply, т.к. последняя попытается выдать ответ именно в то устройство, с которого был произведён запрос.
Новое в терминалах
1. В настройке терминалов появилась галочка MajorDroidAPI -- говорит системе о том, что терминал представляет собой планшет с установленной программой MajorDroid
2. Там же в настройках можно указать, с каким объектом связан терминал и из какого свойства этого объекта брать минимальный уровень сообщений для проговаривания голосом (последнее работает только в случае включенного MajorDroidAPI). Если объект и/или свойство не указано, то используется глобальный уровень минимальной важности minMsgLevel
3. Функция say теперь пытается донести фразу не только в общий канал, но и на каждый терминал в отдельности
4. Добавилась функция sayTo с параметрами (ФРАЗА, УРОВЕНЬ, НАЗНАЧЕНИЕ) -- в качестве НАЗНАЧЕНИЯ можно использовать системное имя терминала и если это терминал на MajorDroid, то ему отправится команда для произношения. В любом случае из этой функции создаётся событие SAYTO (вида: processSubscriptions('SAYTO', array('level' => $level, 'message' => $ph, 'destination' => $destination));), которое может быть перехвачено сторонними модулями -- на заметку тем, кто захочет создать свой модуль для организации работы с различными устройствами доставки сообщений на определённый канал.
5. Добавилась функция sayReply с параметрами (ФРАЗА, УРОВЕНЬ, ОТВЕТ_НА_ЧТО) -- последние два параметра не обязательны. Эта функция ведёт себя следующим образом:
* Если указан параметр ОТВЕТ_НА_ЧТО, то система попытается найти терминал, с которого был запрос, содержащий данную фразу
* Если не указан параметр ОТВЕТ_НА_ЧТО, то система выберет терминал, с которого был любой запрос в течении последних 5 секунд
* Если терминал найден, то ответ будет направлен на него (с помощью той же функции sayTo)
* Если терминал не найден, то ответ будет озвучен в обычном порядке (аналогично просто использованию функции say).
6. При вызове домашней страницы можно указать системное имя терминала. Например, http://192.168.0.1/?terminal=main или http://192.168.0.1/pages.html?terminal=main . Если этот параметр указан, то система сама создат запись соответствующего терминала в настройках (при его отсутствии) и будет устанавливать корректно источник последующих запросов.
Для чего это всё
Для того, чтобы можно было организовать адресное общение с пользователем при наличии дома нескольких точек взаимодействия (терминалов). Для ответа на запросы пользователя теперь будет более уместно использовать не say, а sayReply, т.к. последняя попытается выдать ответ именно в то устройство, с которого был произведён запрос.