Не срабатывает правило

на WB5 почему-то не работает это правило
defineRule(“test”, {

when: function () {return dev.wb-modbus-0-0[“input1”] == “1”;},

then: function () {dev.security_alarm.enabled = 1;}

});

а вот это нормально отрабатывает

defineRule(“test”, {

when: function () {return dev.noolite_rx_0x52f2.state == “1”;},

then: function () {dev.security_alarm.enabled = 1;}

});

при этом в MQTT я вижу в логах что параметр wb-modbus-0-0[“input1”] меняется с 0 на 1 и наоборот.
В чем может быть проблема?

Знак минуса кажется нельзя использовать в идентификаторах. Попробуйте dev[“wb-modbus-0-0”][“input1”].

Может быть кто-то подскажет? Если использовать в правиле “Активация правила только в определённое время” время, которое происходит в один день, например с с 9:30 до 17:10, то все работает, а если установить, например с 23.00 до 07.00, то нет.

Наверное потому что первый случай это одни сутки, а второй случай это двое суток и надо делать два правила?

Наверное так:
var date_end = new Date(date + 1);
date_end.setHours(7);
date_end.setMinutes(00);

Нет, не так. Во-первый так следующие сутки не сконструировать, во-вторых проблема там не только с date_end, но и с date_start, если правило утром выполняется.
В общем там нужно другую логику писать, не одна строчка.

1 запись была перенесена в новую тему: Запуск правила по времени