Срабатывание правила по времени

Спасибо, сделал с флагом, сегодня все отработало как надо было. Жду следующую ночь, посмотрю в периодике, приведу скрипт для накопления опыта:

// Включение / выключение правила выключателем на панели Devices
// Создаём виртуальное устройство - выключатель.
defineVirtualDevice("autolight", {
  title: "Автоподсветка",
  cells: {
    enabled: {
      type: "switch",
      value: false
    },
  }
});

var isEveningLamp = true;  // флаг на управление ночным светом

defineRule("light_control", { //название правила - "Автоподсветка"
  whenChanged: "wb-adc/A1", //при изменении состояния датчика света
  then: function(newValue, devName, cellName) { //выполняй следующие действия
    if (dev["autolight"]["enabled"]) { // если вируальн. устр-во autolight  в положении enabled    
      if (dev["wb-adc"]["A1"] > 3.8) { //если напряжение датчика больше 3.8В,
        dev["wb-gpio"]["EXT2_K9"] = false; //установи на выходе wb-gpio устройство EXT2_K9  
		dev["wb-mr3_20"]["K3"] = false; //установи на выходе wb-gpio устройство wb-mr3_20 K3
        isEveningLamp = true; 
		//в состояние "выключено" 
      } else { // иначе
        if (dev["wb-adc"]["A1"] < 3.3 && isEveningLamp) { //если напряжение датчика меньше 3.3В,
          //(обеспечиваем гистерезис)
          dev["wb-gpio"]["EXT2_K9"] = true; //установи EXT2_K9  в состояние "включено"
		  dev["wb-mr3_20"]["K3"] = true; //установи wb-mr3_20 K3  в состояние "включено"
        }
      }
    }
  }
});

defineRule("dr_evening_lighting_off", {
	when: cron("00 20 00 * * *"), 
	then: function ()  { //выполняй следующие действия
		isEveningLamp = false; 
		dev["wb-gpio"]["EXT2_K9"] = false; //установи на выходе wb-gpio устройство EXT2_K9  
		dev["wb-mr3_20"]["K3"] = false; //установи на выходе wb-gpio устройство wb-mr3_20 K3
        log.info("evening lamp off 00:20 AM");
	}
});
1 лайк