Статья

Научим умный дом разговаривать

Хотите, чтобы ваш умный дом будил вас по утрам? Или встречал на входе? Или сообщал о важных событиях? Теперь это легко сделать. На любом языке. Потребуется лишь устройство с android. Причём подойдет абсолютно любой, даже убитый в хлам старенький телефон/планшет, т.к. все работает даже на 4.0 версии. И все это совершенно бесплатно. 

Подготовка

Для начала необходимо сделать три простых шага:

Устанавливаем на устройство маленькое приложение-сервис: Remote Speak
Нажимаем на токен, он копируется в буфер обмена. 
Передаем токен каким-либо способом к себе на компьютер (через почту, мессенджеры, сеть или другим способом). 

На этом настройка устройства закончена, откладываем его в сторону. Приложение можно закрыть, оно останется висеть сервисом.

Реализация

Теперь, достаточно отправить через google api сообщение с указанием этого токена, и оно будет прочитано вслух, если устройство подключено к интернету. Сделать это можно множество способов, вот некоторые из них:

Из консоли:

curl -s "https://fcm.googleapis.com/fcm/send" -H "Authorization: key=AIzaSyCau_csJXUd5RFFjdKGKH6h9Tvaz4sLj5Y" -H "Content-Type: application/json" -d '{"to": "%TOKEN%", "priority" : "high", "data": {"lang": "%LOCALE%", "msg": "%TEXT%"}}'

  • %TOKEN% это ваш сохраненный ранее токен.
  • %LOCALE% это стандартная локаль, например ru-RU или en-US или любая другая. От этого зависит, на каком языке будет прочитано сообщение.
  • %TEXT% это само сообщение.

Fibaro

local TOKEN = 'Ваш токен'; local LANG = 'ru-RU'; local MSG = 'Проверка'; jsonTable = { to = TOKEN, priority = high, data = }; jsonString = json.encode(jsonTable); local http = net.HTTPClient(); http : request('https://fcm.googleapis.com/fcm/send', { options = { method = "POST", headers = { ['Authorization'] = 'key=AIzaSyCau_csJXUd5RFFjdKGKH6h9Tvaz4sLj5Y', ['Content-Type'] = 'application/json' }, data = jsonString }, success = function(response) fibaro:debug (response.data) end, error = function(err) fibaro:debug ("Error:".. err) end });

Homey

Если у вас есть Homey, то все еще проще - устанавливаете плагин Remote Speak

Добавляете токены ваших устройств (любое количество), называете их как удобно:

и используете при создании Flow:

Другой контроллер

Если у вас другой контроллер, скорее всего он тоже поддерживает скрипты, и может отправлять данные в формате json.

Написание примеров и плагинов приветствуется, вы можете прислать их мне на почту admin@makesimple.org и они будут добавлены в статью.


Вернуться назад

Устройства


Athom Homey

Homey

(6 отзывов)

Вернуться назад