Виртуальная кнопка

Добрый день!

Вот пример создания виртуальной кнопки и обработки её логики:

// Создание виртуального устройства с кнопкой и индикатором состояния
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;
    }
});

Общие правила работы с движком правил можно найти в этой статье.