Публикация значения value в топик ZigBee

Добрый день! Прошу помощи в решении проблемы.

Создал виртуальное устройство для управления ZigBee автоматом, а именно включение/отключение и установка тока сработки. Второе правило никак не хочет работать, уверен, что публикую, что-то не то в топик ZigBee устройства.

defineVirtualDevice(“Tongou-ZigBee”, {
title: “Tongou-ZigBee”,
cells: {
Enable: {
type: “switch”,
title: {“en”: “State”, “ru”: “Состояние”},
value: false
},
value: {
title: “Value”,
type: “range”,
title: {“en”: “over_current_threshold”, “ru”: “Ток срабатывания”},
value: 1,
max: 63,
min: 1
}
}
});

defineRule({
whenChanged: “Tongou-ZigBee/Enable”,
then: function (newValue, devName, cellName) {
if (newValue){
publish(“zigbee2mqtt/Tongou/set”, JSON.stringify({state: “ON”}), 2, false);
} else {
publish(“zigbee2mqtt/Tongou/set”, JSON.stringify({state: “OFF”}), 2, false)
}
}
});

defineRule({
whenChanged: “Tongou-ZigBee/Value”,
then: function (newValue, devName, cellName) {
if (newValue){
publish(“zigbee2mqtt/Tongou/set”, JSON.stringify({over_current_threshold: “newValue”}), 2, false);
}
}
});

Добрый день!
Вижу у вас три момента, которые надо поправить.

  1. По документации Zigbee2MQTT публиковать надо число, не ON/OFF:

To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"over_current_threshold": NEW_VALUE}. The minimal value is 1 and the maximum value is 64. The unit of this value is A.

  1. У вашего устройства defineVirtualDevice(“Tongou-ZigBee”,
    есть контрол value: {...,
    а в условии правила whenChanged: “Tongou-ZigBee/Value”, вы указали его с большой буквы. Value с большой буквы в title: “Value”, используется при отображении, а сам контрол должен быть с маленькой буквы, то есть верно так:
    whenChanged: “Tongou-ZigBee/value”, (ну, или переименуйте контрол тоже с большой бкувы: Value: {...).

  2. В том же правиле-обработчике whenChanged: “Tongou-ZigBee/Value”,
    JSON.stringify({over_current_threshold: “newValue”}) обрабатывает строку “newValue”, не значение переменной newValue, то есть кавычки не нужны: JSON.stringify({over_current_threshold: newValue})

Спасибо большое! Вопрос решен!