Добрый день.
Естественно, если используете whenChanged - то срабатывать будет на изменение значения топика, не на перепубликацию того же.
Обойти можно так, например:
function makeRule (ruleName, devTopick, outTopick){
defineRule(ruleName, {
whenChanged: devTopick,
then: function(newValue, devName, cellName) {
if (newValue){
log.info("Rile ",ruleName, " new ", newValue)
dev[devName][cellName]="";
}
}
})
}
makeRule("testZigbeeButton","Button_on_table/action", "");
