0
Under review

Задержка между PUSH уведомлениями

Денис Кузин 2 months ago in Tips and Tricks updated by Vladimir Ovchinnikov 2 months ago 1

Добрый день!
Как осуществить задержку перед отправкой второго 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 минут, если такое возможно. При этом не создавать задержку первому уведомлению.

Спасибо!

Under review

Добрый день.

Добавьте в проект виртуальный фидбэк, который будет хранить время с момента крайней отправки PUSH. При старте проекта запишите в фидбэк 0. При вызове PUSH получайте время и сравнивайте с сохранённым в виртуальном фидбэк. Если разница менее 15 минут - ничего не делать. Если 15 и более - отправлять PUSH и записать новое значение времени.