Добрый день!
Вот пример создания виртуальной кнопки и обработки её логики:
// Создание виртуального устройства с кнопкой и индикатором состояния
defineVirtualDevice("virtual_button", {
title: "Виртуальная Кнопка",
cells: {
button: {
type: "pushbutton",
value: 0
},
state: {
type: "text",
value: "0"
}
}
});
// Правило для обработки нажатия кнопки
defineRule({
whenChanged: "virtual_button/button",
then: function(newValue, devName, cellName) {
buttonState = (buttonState === 0) ? 1 : 0;
log("Button state changed to: " + buttonState);
dev["virtual_button"]["state"] = buttonState.toString();
dev[devName][cellName] = 0;
}
});
Общие правила работы с движком правил можно найти в этой статье.