Хотите, чтобы ваш умный дом будил вас по утрам? Или встречал на входе? Или сообщал о важных событиях? Теперь это легко сделать. На любом языке. Потребуется лишь устройство с 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 и они будут добавлены в статью.