это ничем не отличается от моего варианта
function TurnOn(name, timeout_ms, detector_control, device_control, relay_control, Mvalue) {
var timer_id = null;
defineRule(name, {
whenChanged: detector_control,
then: function(newValue, devName, cellName) {
if (newValue>20) {
dev[device_control][relay_control] = Mvalue;
if (timer_id) {
clearTimeout(timer_id);
}
В конфиге сейчас все датчики движения имеют пояснения в скобках латиницей, Почему то в сеттинге нет такой надписи. Может ли это стать причиной ошибок в логе?
Если существует устройство, которое в конфиге есть а физически отсутствует - да, может быть. Если такого устройства нет (было), но в MQTT записи остались - то посмотреть
/devices/D82/controls/Play from ROM5/meta/order 27
/devices/D82/controls/Play from ROM6 0
/devices/D82/controls/Play from ROM6/meta/type pushbutton
/devices/D82/controls/Play from ROM6/meta/order 28
/devices/D82/controls/Play from ROM7 0
/devices/D82/controls/Play from ROM7/meta/type pushbutton
/devices/D82/controls/Play from ROM7/meta/order 29
/devices/D82/controls/Reset all ROM 0
/devices/D82/controls/Reset all ROM/meta/type pushbutton
/devices/D82/controls/Reset all ROM/meta/order 30
/devices/D82/controls/Input Voltage 13.126
/devices/D82/controls/Input Voltage/meta/type voltage
/devices/D82/controls/Input Voltage/meta/readonly 1
/devices/D82/controls/Input Voltage/meta/order 31
/devices/D82/controls/Serial 4266169073
/devices/D82/controls/Serial/meta/type text
/devices/D82/controls/Serial/meta/order 32
/devices/D82 (DD v Kabinete)/controls/CO2 674
/devices/D82 (DD v Kabinete)/controls/CO2/meta/type concentration
/devices/D82 (DD v Kabinete)/controls/CO2/meta/order 4
/devices/D82 (DD v Kabinete)/controls/LED Period (s) 3
/devices/D82 (DD v Kabinete)/controls/LED Period (s)/meta/type range
/devices/D82 (DD v Kabinete)/controls/LED Period (s)/meta/max 10
/devices/D82 (DD v Kabinete)/controls/LED Period (s)/meta/order 12
/devices/D82 (DD v Kabinete)/controls/LED Glow Duration (ms) 30
/devices/D82 (DD v Kabinete)/controls/LED Glow Duration (ms)/meta/type range
/devices/D82 (DD v Kabinete)/controls/LED Glow Duration (ms)/meta/max 50
/devices/D82 (DD v Kabinete)/controls/LED Glow Duration (ms)/meta/order 13
Я сделал все ваши рекомендации. Однако ошибки в логах есть. Давайте снова разберемся с этой строкой
Oct 1 00:06:21 wirenboard-AE3UHZCX user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 2 input(s) @ 0 of device modbus:82: Serial protocol error: request timed out
Я правильно понимаю это означает истекло время запроса чтения регистра 0 по адресу 82?
Контроллер зависает, но теперь работает заметно дольше 15 минут.
Оставляю на эксперимент с подключенными двумя портами rs485. Складывается впечатление, что зависает при подключении дополнительного порта rs485.
Прошу ответить на предыдущий вопрос.
До датчиков не более 50м, можно на расстоянии 25м попробовать это самая ближайшая.
Если смотреть логи то и диммер (один из 3х) в шкафу такую же ошибку выдает но реже чем датчики. Там шлейф связи не более 4х метров.
Линия чистая проверял с датчика до датчика все провода отсоединяя.
Думаю контроллер глючный или устройства.