Конвертация значений

Доброго времени суток!

Прошу помощи в следующем:

  1. Есть Zigbee устройство, подключенное к Wirenboard.
  2. Это устройство публикует свое состояние в тему значениями true и false (text).
  3. Для связи с вешестоящим устройством необходимо иметь данные значения в виде bool.

Как выполнить преобразование внутри WB?

var textDeviceControl = “device/control” //Mqtt топик, zigbee устройства
var boolDeviceControl = “device/control” //Mqtt топик, switch переключателя

defineRule(“Convetr”, {
whenChanged: textDeviceControl,
then: function (newValue) {
if(“true”){
dev[boolDeviceControl] = true;
}
else if(“false”){
dev[boolDeviceControl] = false;
}
}
});

Попробовал Ваш вариант:

var textDeviceControl = “mo_sens_1/occupancy” //Mqtt топик, zigbee устройства
var boolDeviceControl = “buzzer/enabled” //Mqtt топик, switch переключателя

defineRule(“Convetr”, {
whenChanged: textDeviceControl,
then: function (newValue) {
if(“true”){
dev[boolDeviceControl] = true;
}
else if(“false”){
dev[boolDeviceControl] = false;
}
}
});

проблема в том, что включение по изменению топика zigbee происходит, а выключение нет.

Заработал такой вариант:

var textDeviceControl = “mo_sens_1/occupancy” //Mqtt топик, zigbee устройства

defineRule(“simple_test”, {
whenChanged: textDeviceControl,
then: function (newValue, devName, cellName ) {
if(newValue == “true”){
dev[“buzzer/enabled”] = true;
}
else if(newValue == “false”){
dev[“buzzer/enabled”] = false;
}
}
});

Всем огромное спасибо!

Да, извиняюсь, подзабыл что мы должны что-то проверить :smiley:

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.