directman

<<< Back

Использование колонки google home в качестве терминала Majordomo

с использованием google-home-notifier и сервиса IFTTT
Колонки семейства Google Home (mini) могут выступать в роли сетевой wifi колонки и в роли устройства голосового управления.

Сетевая wifi колонка:
В сети существует множество проектов для вывода контента на Google Home (mini), но единственный, который удалось без проблем поднять на любой платфоре linux liked систем (Raspberry, orange pi, x86-debian) называется google-home-notifier.

Установка проекта


sudo apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install nodejs

git clone https://github.com/noelportugal/google-home-notifier
$ cd google-home-notifier
$ npm install

в файле example.js нужно прописать адрес google home и порт локального сервиса. Сервисов можно поднять несколько при наличии нескольких колонок.

Далее нужно Majordomo научить запускать сервис google-home-notifier, для этого через плагин cron добавить задание:

Title * google-home-notifier
Crontab * */10 * * * * (раз в 10 минут)
код: shell_exec("node /home/pi/google-home-notifier/example.js");

После установки проекта, можно вызвать сценарий вызова файла mp3

$zap=$params['text'];
if ($zap==""){$zap="http://188.226.32.227/cached/voice/1.mp3";}
//$cmd='curl -X POST -d "'.$zap.'" http://192.168.1.35:8091/google-home-notifier';
$cmd='curl -X GET http://192.168.1.39:8091/google-home-notifier?text='.urlencode($zap); 
echo $cmd;
echo "<br>";
$answ=shell_exec($cmd);
echo $answ;

при наличии соответсвующего файла по указанному пути колонка должна воспроизвести контент.

Далее добавляем новый терминал Google home notifier через вкладку Терминалы, указываем ip адрес текущего сервера, порт google-home-notifier (по умолчанию 8091)

Теперь на терминал Google home notifier можно отправлять медиа-поток, например из радио онлайн.

Для того, чтобы терминал был подписан на голосовые уведомления голосовых модулей, необходимо во вкладке Общий настройки -> Обработчики -> Before PlaySound (code)
указать следующий код:

if (preg_match('/cached\/voice.+/is',$filename,$m)) { $url='http://192.168.1.39/'.$m[0]; playMedia($url,'MAIN');DebMes($url,'googlenotifier');}

После последнего обновления я использую код

$url='http://192.168.1.39/cms/cached/voice/'.basename($filename); if (basename($filename)<>"dingdong.mp3"){playMedia($url,'MAIN');DebMes($url,'googlenotifier');}

Данный код воспроизводит последнее сообщение движда Yandex TTS. Если у вас другой TTS, то замените путь на другой.

Пока-что имеется не решенная задача с очередями, чтобы новое голосовое сообщение не замещалось предыдущим в момент совершения. Какого-то готового решения пока нет. Просто в сценарии вставляю команту sleep(60);

Управление сценариями с помошью голоса

Первым делом связываем умную колонку с домашним wifi, акаунтом гугл и т.д.

Далее через приложение Google Home заходим на сайт itfff.com и регистрируем новый акаунт, если еще не имеется. Связываем новый акаунт с учетной записью гугл.

Создаем NewApplet в правом углу сайта ifttt.com
1) нажимаем на + на фразе if ✚ this then that
2) ищем поиском Gogle Assistant и выбираем
3) Say a simple phrase
3) добавляем требуемую фразу
turn on the light in the corridor
и алиасы на всякий случай
turn light in the corridor
4) нажимаем + перед фразой that и выбираем webhooks
5) вводим публичный адрес своего сервера и изменяемого свойства или запуск сценария
http://login:password@xxx.xxx.xxx.xx/objects/?script=sendcamtelega

Теперь, если вы произнесете OK гугл, тёрн он лайт ин вэ коридор, у вас будет вызван сценарий sendcamtelega

Варианты написания по русских фраз по английски испробованы, но колонка на них реагирует не охотно. В течении 18 года русский язык должен появиться в гугл асистенте, соответсвенно скорее всего и появится в Google Home.

Также есть возможность настроить колонку через Api.ai (dialogflow) для передачи запроса в MD через соответсвующий плагин. (пока не тестировался, планирую протестировать после русификации асистента).

Тема на форуме http://majordomo.smartliving.ru/forum/viewtopic.ph...

Сохраню тут на всякий случай состояние event_say:

{"pushbullet":{"filter":""},"pushover":{"filter":""},"sms_ru":{"filter":""},"ssdp_finder":{"filter":""},"telegram":{"filter":"","priority":10},"windows_tts":{"filter":""},"yandex_tts":{"filter":"","priority":10}}

Discuss (2) (4)

See also:
2020-07-03 Получаем безопасный доступ к Web странице MajorDoMo
2020-04-24 Установка MajorDoMo на synology в 3 клика
2020-02-13 Настройка модуля zigbee2mqtt для работы с zigbee2mqtt или шлюзом sls zigbee gateway
2020-02-13 Настройка модуля zigbee2mqtt для работы с zigbee2mqtt или шлюзом sls zigbee gateway
2020-01-25 Команды для настройки прав пользователей на папку с majordomo
2020-01-23 Отключаем строгий режим MYSQL штатными средствами
2019-10-12 Подключаем светодиодные ленты к контроллеру MegaD
2019-10-11 Варианты интеграции электроприводов
2019-09-30 Выбор источников сигнала телевизоров LG 2013
2019-09-29 Узнаем версию дистрибутива linux
2019-09-24 Установка необходимых пакетов в xpenology через docker
2019-09-16 Примеры разметки Markdown
2019-09-14 Краткий обзор выключателей, в том числе Sonoff T4EU1C
2019-09-13 Сценарий для канала @MajorDoMo_feed
2020-03-26 Опыт установки Synology DSM
2019-09-09 Делаем majordroid лаунчером андройд по-умолчанию.
2019-09-04 Реализация сценария "кто-то пришел"
2019-09-02 Отправляем график hightcharts свойства любого объекта в телеграмм
2019-09-17 Автономная сигнализация на базе контроллера megad-2561
2019-08-27 Управление громкостью терминалов через телеграмм
2019-08-26 Полноценная консоль в браузере (wetty)
2019-08-16 Точечное регулирование радиаторов отопления
2019-08-18 Собираем голосовой помощник на базе WM8960 Audio HAT и raspberry pi zero w
2019-08-13 Общедоступная ссылка с закатом, рассветом и текущей погодой
2019-07-24 Самый дешевый вариант видеонаблюдения
2019-07-22 Запуск MajorDroid на одноплатниках, старых планшетах, телефонах.
2019-07-22 Запуск Majordroid на старом железе
2019-07-15 Устанавливаем opencv и необходимые библиотеки на ubuntu 18.04 без использования python
2019-07-05 Решение проблемы Incorrect integer value: '' for column 'ID' at row 1
2019-07-04 О приборах учета и удаленном снятии показаний (вода и газ)
2019-07-04 О приборах учета и удаленном снятии показаний (электричество)
2019-07-03 Конвертируем rs-485 в TCP-IP
2019-06-24 Наблюдение за радиационной обстановкой в регионе
2019-06-06 Меню пылесоса Xiaomi в телеграмм
2019-06-06 Удобный просмотр данных сенсоров через телеграмм
2019-06-06 Просмотр камер через телеграмм
2019-06-06 Управление светом через телеграмм
2019-06-06 Колор-пикер для телеграм
2019-05-06 Список символов emoji
2019-04-17 Установка z-way на Ubuntu
2019-04-16 Решение проблемы ERROR 1040 (HY000): Too many connections
2018-09-09 Список домофонов с IP интерфейсом
2018-08-29 Список кондиционеров с wifi
2018-08-29 Список доступных к покупке IP колонок
2018-07-15 Интеграция датчика Mi flora plant к системе УД MAJORDOMO
2018-06-13 Полезные команды для работы с git
2018-05-27 преобразование html страниц в картинку и отправка в телеграмм
2018-05-24 Полезные sql запросы
2018-05-23 Создание образа nand памяти orange pi plus2
2018-05-16 Команды для работы с базой данных напрямую
2018-04-13 Индикаторы о заряде батареек без использования картинок
2018-04-06 Установка и настройка python на windows для работы систем распознавания
2018-04-05 Распознавание лиц подходящих к двери людей с помощью ip камеры и открытие двери, если нейросеть признала своего
2018-04-04 Управление таймерами выключения света
2018-04-04 Управление RGB контроллером на базе ESP8266
2018-04-03 Увеличение разрешения китайских камер на чипе hi3516c H264
2018-03-13 Установка и подключение rtl usb донгла для чтения датчиков температуры и кнопок 433 мгц
2018-03-13 Настройка брокера MQTT
2018-02-17 Проект "умная входная дверь"
2018-02-11 Отправка всех значений свойства объекта в телеграм
2017-12-21 получение адреса по GPS координатам
2017-12-21 получение / передача GPS координат сервису livegps.com
2017-12-21 чтение мгновенных данных U,P, I электросчетчика милур 104
2017-12-21 Получение координат с маяков и gsm сигнализаций starline-online.ru

Екатеринбург, Россия

На форуме: directman66