Правило не видит функцию из другого файла скриптов

В скрипте light.js создал правило в котором проверяю текущее время time_now(), но появляется ошибка. Где искать ответ?

#light.js

defineRule("STAIRS_Light_Detector_1_2_detector", {
	asSoonAs: function() {
		return  !stairs1_2_relay && !stairs1_2_detector && time_now() > 7 && outdoor_illuminance < illuminance_lev_2;
	},
	then: function (newValue, devName, cellName) {

		stairs1_2_relay = 1 ; // включаем подсветку ступеней 1-2 эт
		log("[STAIRS 1-2]: MOVING DETECTOR ACTIVATED... Light is ON");

	}
});

#_rules.js

function time_now(a)  {
var date = new Date();
switch (a) {
	case 'H': return date.getHours();
	case 'M': return date.getMinutes();
	default:  return date.getHours();
}

}

Ошибка:

ECMAScript error: ReferenceError: identifier 'time_now' undefined
duk_js_var.c:1232
anon /etc/wb-rules/light.js:76 preventsyield
apply native strict preventsyield
anon /usr/share/wb-rules-system/scripts/lib.js:119 preventsyield

Начная с 2.x wb-rules пространства имен каждого скрипта свое.

у меня w5.8 rules: 1.7.x

Тогда да. Но - файлы подгружаются по очереди, надо файлу в котором есить ресурсы, испольщзуемые другим дать болле верхнее по сортировке имя, то есть начать с цифры либо с буквы “a”.

Подчеркивание вроде работало ведь раньше. Хм… Попробую перезагрузить правила.

После перезагрузки функции доступны?

К сожалению, нет. Функцию не видит правило. До всех обновлений у меня не было таких вопросов.

как увидеть последовательность загружаемых скриптов? может так станет понятнее что за чем подгружается?

Я когда разбирался - просто в начало каждого файла добавлял log.info(“Имя скрипта”);