Приведите, пожалуйста, пример скрипта, который включает/выключает блок Ноолайт при нажатии на кнопку.
Попробовал запустить простенький скрипт выводящий сообщении в лог при при смене значения R2_IN, но он похоже не работает.
asSoonAs: function () {
return dev["wb-gpio"]["R2_IN"];
},
then: function () {
log("R2_IN");
}
});
Приведите пример публикации сообщения publish(topic, payload, [QoS [, retain]])
Где находится файл syslog?
asSoonAs - это не смена значения, скрипт у вас выполняется каждый раз когда R2_IN изменяется с 0 на 1 (т.е. когда условие в asSoonAs стало истинным).
Чтобы смотреть syslog, нужно поставить syslogd. Например пакет
apt-get install busybox-syslogd
Дальше лог будет в /var/log/messages
Не могу понять, почему не работает правило onCellChange, в логах пишет:
[rule debug] error running rule energy: TypeError: call target not an object
#011duk_js_executor.c:2761
#011anon lib.js:80 preventsyield
#011forEach native strict preventsyield
#011anon lib.js:97 preventsyield
Код правила:
defineRule("energy", {
onCellChange: "wb-gpio/Power_current",
then: function (devName, cellName, newValue) {
log("test =" + newValue);
}
});
Остальные типы правил действуют
Похоже, что с defineAliase таже беда:
wirenboard wb-rules: ERROR: 2015/04/13 21:10:42 error loading script file /etc/wb-rules/pw_rules.js: failed to load lib.js: ReferenceError: identifier 'defineAlias' undefined
Есть подозрение, что в репозитарии версия без этих функций.
Да, действительно, версию с этими функциями не выложили, прошу прощения. Обновил, сейчас в репозитории версия 1.1.
Хочу предупредить, что в 1.2 (будет на этой неделе) ожидается обратно-несовместимое изменение касающееся onCellChange, изменения пользовательских правил будут минимальные. Надеюсь, что это будет последнее обратно-несовместимое изменение, после этого API фиксируем.
После вчерашнего update/upgrade перестали работать таймеры (запус происходит DEBUG: [rule debug] starting timer: ResTimer
, а вот срабатывания нет) . До этого всё работало.
попробуйте обновить ещё раз (до версии v1.2)