-
Notifications
You must be signed in to change notification settings - Fork 8
callback
Aculeasis edited this page Sep 23, 2019
·
22 revisions
Кроме отправки текстовых команд, терминал может вызывать MajorDoMo через API при наступлении некоторых событий.
Все нужные параметры находятся в секции [smarthome]
:
- ip: IP сервера с MajorDoMo
- object_name: Имя вызываемого объекта.
- object_method: Метод вызываемого объекта.
- heartbeat_timeout: Если за это время, в секундах, не было событий то метод будет вызван принудительно. Если 0 будет вызывать только по событиям.
IP, имя и метод объекта должны быть заданы.
- uptime: Аптайм системы на момент регистрации вызова, в секундах. Присутствует всегда.
-
username: Если
username
задан то будет присылать его всегда. -
terminal: Если
terminal
задан то будет присылать его всегда. - volume: Системная громкость терминала, -1 если не настроено или при ошибке чтения.
- music_volume: Громкость музыкального плеера, -1 при ошибке подключения или если громкость не регулируется.
- version: Версия терминала, один раз при запуске.
- Компонент и причина вызова, в формате Свойство=Значение (
status: stop_talking
,listener: off
и т.п.), может отсутствовать:-
status: Базовые уведомления:
- start_record: Начало записи голоса (обычно после распознавания ключевого слова).
- stop_record: Окончание записи голоса.
-
voice_activated: Терминал распознал ключевое слово. Только в
chrome_mode = off
, вchrome_mode = on
ему эквивалентенstart_record
. -
ask_again: Терминал не смог ничего распознать и переспрашивает по
ask_me_again
. - speech_recognized_unsuccess: Голосовая команда не была распознана или отсутствует.
- speech_recognized_success: Голосовая команда успешно распознана и обрабатывается.
- start_talking: Терминал начал говорить.
- stop_talking: Терминал закончил говорить.
-
music_play, music_stop, music_pause: Статус музыкального плеера изменился на
play
,stop
,pause
. - music_error: Ошибка получения статуса плеера.
- mic_test_error: Ошибка при тестировании микрофона, голосовая активация недоступна.
-
listener:
- on: Терминал начал слушать микрофон.
- off: Терминал перестал слушать микрофон (по тем или иным причинам).
-
updater: Уведомление от системы автообновления:
- pull_failed: Во время обновления (git pull) возникла ошибка.
- check_pull_failed: Ошибка анализа обновления.
- update_nope: Обновлений не найдено.
-
apt_failed: Установка зависимостей через
apt-get
завершилась неудачно. - apt_yes: Новые зависимости успешно установлены.
- apt_no: Новые зависимости есть, но не установлены (согласно настройкам).
-
pip_failed, pip_yes, pip_no: Тоже что и
apt_
но дляpip
. - update_yes: Терминал был успешно обновлен.
- fallback_failed: Откат неудачного обновления потерпел неудачу 👍
- fallback_ok: Выполнен откат неудачного обновления.
- rollback_failed: Ручной откат потерпел неудачу.
- rollback_ok: Выполнен ручной откат.
-
status: Базовые уведомления:
Если в консоли постоянно возникают ошибки где есть фрагмент /api/method/
а IP сервера с MajorDoMo указан верно, нужно раскомментировать строчки в /etc/mime.types
и перезапустить apache.
Указанный в настройках объект и его метод должны существовать.
Пример метода который сохраняет все параметры в свойства:
foreach ($params as $param => $value) {
$this->setProperty($param, $value);
};