1. Из этой темы делаем первоначальные шаги чтобы узнать Ваш токен и номер чата (пункты 1-7):
www.z-wave.ru/forum/vera-veralite/7183-uvedomleniya-v-telegram.html
2. Создаем в Fibaro переменную (Панели -- Панель переменных) с именем Telegram и значением 0
3. Создаем новую сцену Telegram Send в которой прописываем следующий код LUA
--[[
%% properties
%% globals
Telegram
--]]
local debug = true;
local token = "ВАШ токен сюда пишем"
local chat_id = "ВАШ номер ID чата пишем сюда"
local url = "https://api.telegram.org/bot"..token.."/sendMessage?chat_id="..chat_id.."&text="
local function log(str) if debug then fibaro:debug(str); end; end
local function errorlog(str) fibaro:debug("<font color='red'>"..str.."</font>"); end
--Prevents the scene from running again
if (tonumber(fibaro:getGlobalValue("Telegram")) == 0) then
fibaro:abort();
end
local selfhttp = net.HTTPClient({timeout=2000})
local msg = fibaro:getGlobalValue("Telegram")
log(msg);
url = url .. msg
selfhttp:request(url, {
options={
headers = selfhttp.controlHeaders,
data = requestBody,
method = 'GET',
timeout = 5000
},
success = function(status)
local result = json.decode(status.data);
if result.ok == true then
log("successful");
else
errorlog("failed");
log(status.data);
end
end,
error = function(error)
errorlog("ERROR")
log(error)
end
})
--Reset the global Telegram variable to 0
fibaro:setGlobal("Telegram", "0")
4. Чтобы использовать эту сцену в своих сценах создаем нужную Вам сцену (например сработал какой то датчик), в ней надо указать изменение переменой Telegram на свое сообщение и вызвать сцену Telegram Send. Например так:
--[[
%% properties
14 value
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(14, "value")) > 0 )
or
startSource["type"] == "other"
)
then
fibaro:setGlobal("Telegram", "Сработал датчик протечки");
fibaro:startScene(10);
end
Где fibaro:startScene(10); номер 10 это номер сцены Telegram Send. А ( tonumber(fibaro:getValue(14, "value")) > 0 ) - 14 это номер сработавшего датчика.