defineRule("click_button", { whenChanged: "AqaraButton/last_seen", then: function (newValue, devName, cellName) { //выполняй следующие действия var body = ""; body = body + "Action: " + dev[devName]["action"]; body = body + "\nBattery: " + dev[devName]["battery"]; body = body + "\nLastSeen: " + dev[devName]["last_seen"]; body = body + "\nLinkQuality: " + dev[devName]["linkquality"]; body = body + "\n"; body = body + "\ndevName: " + devName; //log(devName + " event — " + dev[devName]["action"]); //log(body); if (dev[devName]["action"] == "single" || dev[devName]["action"] == "double" || dev[devName]["action"] == "hold") { dev["buzzer"]["enabled"] = true; setTimeout(function () { dev["buzzer"]["enabled"] = false; }, 200); Notify.sendEmail("test@test.ru", devName + " — click", body); } if (dev[devName]["battery"] < 100){ Notify.sendEmail("test@test.ru", devName + " — battery: " + dev[devName]["battery"], body); } if (dev[devName]["linkquality"] < 20){ Notify.sendEmail("test@test.ru", devName + "— linkquality: " + dev[devName]["linkquality"], body); } dev[devName]["action"] = ""; //сбрасываем action, иначе будет срабатывать при передаче заряда //dev[devName]["click"] = ""; //сбрасываем click, иначе будет срабатывать при передаче заряда //log("AqaraButton event"); } }); defineRule("click_button_heiman", { whenChanged: "HEIMAN/last_seen", then: function (newValue, devName, cellName) { //выполняй следующие действия var body = ""; body = body + "Action: " + dev[devName]["action"]; body = body + "\nBattery: " + dev[devName]["battery"]; body = body + "\nLastSeen: " + dev[devName]["last_seen"]; body = body + "\nLinkQuality: " + dev[devName]["linkquality"]; body = body + "\n"; body = body + "\ndevName: " + devName; //log(devName + " event — " + dev[devName]["action"]); //log(body); if (dev[devName]["action"] == "single" || dev[devName]["action"] == "double" || dev[devName]["action"] == "hold") { dev["buzzer"]["enabled"] = true; setTimeout(function () { dev["buzzer"]["enabled"] = false; }, 500); Notify.sendEmail("test@test.ru", devName + " — click", body); } if (dev[devName]["battery"] < 100){ Notify.sendEmail("test@test.ru", devName + " — battery: " + dev[devName]["battery"], body); } if (dev[devName]["linkquality"] < 10){ Notify.sendEmail("test@test.ru", devName + "— linkquality: " + dev[devName]["linkquality"], body); } dev[devName]["action"] = ""; //сбрасываем action, иначе будет срабатывать при передаче заряда //log("HEIMAN event"); } });