Друзья, добрый вечер! Подскажите пожалуйста в чем ошибка написания в правиле? Ошибок вроде нет, но правило не срабатывает. Суть проста, при превышении показания температуры с датчика Aqara выше уставки должно включаться реле A2_OUT.
var setpoint = 29;
defineRule(“test”, { //название правила
whenChanged: “/devices/0x00158d00090ee170/controls/temperature”, //при изменении состояния датчика Aqara zigbee с идентификатором 0x00158d00090ee170
then: function (newValue, devName, cellName) { //выполняй следующие действия
if ( newValue > setpoint) { //если температура датчика больше 29 градусов
dev[“wb-gpio/A2_OUT”] = true; //установи Реле 2 контроллера в состояние “включено”
} else {
dev[“wb-gpio”][“A2_OUT”] = false; //установи Реле 2 контроллера в состояние “выключено”
}
}
});
Проверьте какой тип данных у вас приходит string или number. Вот этим правилом:
defineRule(“test”, { //название правила
whenChanged: “0x00158d00090ee170/temperature”, //при изменении состояния датчика Aqara zigbee с идентификатором 0x00158d00090ee170
then: function (newValue, devName, cellName) { //выполняй следующие действия
log.info(typeof newValue)
}
});
Если String тогда нужно вот так: newValue.toFloat() > setpoint
var setpoint = 29;
defineRule(“test”, { //название правила
whenChanged: “0x00158d00090ee170/temperature”, //при изменении состояния датчика Aqara zigbee с идентификатором 0x00158d00090ee170
then: function (newValue, devName, cellName) { //выполняй следующие действия
if ( newValue.tofloat() > setpoint) { //если температура датчика больше 29 градусов
dev[“wb-gpio/A2_OUT”] = true; //установи Реле 2 контроллера в состояние “включено”
} else {
dev[“wb-gpio”][“A2_OUT”] = false; //установи Реле 2 контроллера в состояние “выключено”
}
}
});