NEWS
Google assistent + IFTTT + iobroker
-
Пока ассистент не умеет разговаривать на русском. Учим его управлять домом через iobroker на английском. Я управляю через колонку google home mini.
Кто то говорил, что РКН всё заблокировал и через IFTTT не работает. У меня ростелеком — работает. Просто на некоторые слова он не реагирует. Откликается на слово bathroom, но слово vanna не поймёт. Так как слово должно распознаться и слово ванна нет в английском языке.
За основу взята инструкция https://github.com/ioBroker/ioBroker.cl … from-ifttt
Её переписывать не буду. У меня возникли сложности. Я расскажу, какие.
Читать нужно про Getting data from IFTTT
В пункте 2 инструкции вместо Now select "Telegram" as your service for the applet выбираем Google assistent.
Далее я выбрал первый пункт
Далее заполняем.
What do you want to say?
Например таким значением(это то что нужно сказать ассистенту):
Turn on light bathroom.
Дальше здесь можно ничего не заполнять.
Нажимаем Create trigger.
Далее нажимаем +that и в строке поиска пишем webhook(пункты 5 и 6 в инструкции).
Нажимаем Make a web request(7й пункт в инструкции). Появится форма, которую заполним чуть позднее. Сначала получим URL.
Здесь у меня возникла небольшая сложность.
Не знал, что есть сайт pro и какой ключ вставить. Я перешёл на сайт iobroker.pro. Зарегистрировался на этом сайте.
И получил app key, который нужно скопировать (это 8й пункт в инструкции, которую я привёл в начале).
Переходим в iobroker. Проверяем, что ключ тот же ключ в настройках драйвера cloud( первая вкладка настроек драйвера).
У вас получится ссылка такого вида https://iobroker.pro/ifttt/@pro_vasya11 … 5345ea3d45 (это не мои данные, рандомно напечатал для примера).
Её вставляем в поле url. Метод выбираем POST.
Content type выбираем text/plain.
Body заполняем своим значением.
Я заполню, например, BathroomON.
У нас на все команды один объект cloud.0.services.ifttt
Теперь создаём тоже самое на выключение(читаем сначала инструкцию). Соответственно теперь вместо ON у нас будет OFF.
Теперь создаём скрипт.
Мой пример:
on({
id: "cloud.0.services.ifttt",
change: "ne"
}, function(obj) {
if (obj.state.val === 'BathroomON') {
// setState('sayit.0.tts.volume','30');
// setState('sayit.0.tts.text', 'Свет в ванной включен!');
setState("mqtt.1.Lighting.Bathroom",'1');
}
if (obj.state.val === 'BathroomOFF') {
// setState('sayit.0.tts.volume','30');
// setState('sayit.0.tts.text', 'Свет в ванной выключен!');
setState("mqtt.1.Lighting.Bathroom",'0');
}
});
Колонка google home mini у меня управляет светом.
Здесь можно, что то то упростить/улучшить. Принимаются поправки.
Можно даже сделать так, чтобы колонка отвечала на русском после выполнения команды. Или просто выводила уведомления. Для этого для в драйвере sayit нужно выбрать вывод звука google home.
Для синтеза речи выбрал Yandex, так как он разговаривает более естественно.
Я закомментировал ответ на русском, так как если колонка играет музыку, то после команды, музыка останавливается. Можно сделать англ. ответ через IFTTT и музыка останавливаться не будет.
Есть ещё драйвер chromecast(Адаптер Google Home), но он мне не пригодился.
Может кому то на русском инструкция эта пригодится. Мне, чтобы разобраться пришлось немецкую ветку прочитать с переводчиком.
-
Русский язык работает?
-
Пока ассистент не умеет разговаривать на русском. Учим его управлять домом через iobroker на английском. Я управляю через колонку google home mini. `
Русский язык работает?