Пытаюсь понять возможности управления работой правил.
Видимо чего-то не понимаю…
Вот такой код не останавливает работу правила. Что здесь не так?
defineVirtualDevice('simple_enum', { title: { en: 'Simple ENUM', ru: 'Просто ENUM' }, cells: { simpleENUM: { title: { en: 'ENUM', ru: 'Перечисление' }, type: 'value', value: 1, enum: { 0: { en: 'Zero', ru: 'Ноль' }, 1: { en: 'One', ru: 'Один' }, 2: { en: 'Two', ru: 'Два' }, 3: { en: 'Three', ru: 'Три' } }, readonly: true } } });
var enumRotateRule = defineRule(‘rotateEnum’, {
when: cron(‘@every 5s’),
then: function() {
var newValue = (dev[‘simple_enum/simpleENUM’] + 1) % 4;
log.info(‘Циферка\t\t’, newValue);
dev[‘simple_enum/simpleENUM’] = newValue;
}
});
defineRule(‘stopRorating’, {
when: function() {
return dev[‘simple_enum/simpleENUM’] == 0
},
then: function() {
log.info(‘Пробуем остановить ротацию’);
disableRule(enumRotateRule);
}
});
На всякий случай диагностика