Задержка между PUSH уведомлениями
Добрый день!
Как осуществить задержку перед отправкой второго PUSH уведомления?
Например: при понижении температуры ниже 16 градусов отправляется PUSH уведомление - Холодно.
Используем стандартный скрипт из учебника:
//********** send push when Feedback of driver changes **********
var driver = IR.GetDevice("KNX IP Router"); // driver name
IR.AddListener(IR.EVENT_TAG_CHANGE, driver, function(name,value)
{
if (name == "2/0/3 Actual Room Temperature" && value <= 16) // if the KNX feedback "Address 1" changed to 1
{
IR.SendPush("В офисе холодно!", "Data", 1); // text of notification, hiden data, group of panels
}
});
Но если не создавать никаких дополнительных условий, то будет постоянный спам данным уведомлением. Хотелось бы его отправлять, например, раз в 15 минут, если такое возможно. При этом не создавать задержку первому уведомлению.
Спасибо!
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день.
Добавьте в проект виртуальный фидбэк, который будет хранить время с момента крайней отправки PUSH. При старте проекта запишите в фидбэк 0. При вызове PUSH получайте время и сравнивайте с сохранённым в виртуальном фидбэк. Если разница менее 15 минут - ничего не делать. Если 15 и более - отправлять PUSH и записать новое значение времени.
IR.AddListener(IR.EVENT_TAG_CHANGE, driverr, function(name,value)
{
var tempbarbbarb = IR.GetVariable("Server.Tags.Температура Барбекю барбекю");
if (name == "Температура текущая климат барб" && value <= 10 && tempbarbbarb == 0)
{
IR.SendPush("Температура в барбекю меньше 10 градусов!", "info", 1)
IR.GetServer().Set("Температура Барбекю барбекю", 1);
}
else if (name == "Температура текущая климат барб" && value > 10 && tempbarbbarb == 1)
{
IR.GetServer().Set("Температура Барбекю барбекю", 0);
}
});
так отправляет 1 раз и всё, пока температура не вырастет выше установленной повторного пуша не будет
Добрый день.
Сделайте так:
Пуш уйдёт при соблюдении одновременно 3 условий:
1) Изменился тэг в driverr (пришло значение, отличное от предыдущего).
2) В тэге "Температура текущая климат барб" будет 10 или меньше.
3) В тэге "Server.Tags.Температура Барбекю барбекю" будет 0.