Такой прием в whenChanged можно использовать?

Здравствуйте. HA отправляет команды 0 и 1 на выключение и включение светильника, все работает, но случаются моменты когда HA два раза подряд нужно отправить 1 и whenChanged не срабатывает. Можно ли использовать прием как в коде ниже, то есть после каждого срабатывания whenChanged в then функции отправлять в мктт канал 2?

defineRule({
    whenChanged: obj.command,
    then: function(newValue) {
        if (newValue == 1) {
            debug("command")
            obj.flag = 'current'
            dev[obj.brightnessControl] = obj.brightness_current
            dev[obj.command] = 2
        }
        else if (newValue == 0 && obj.flag == 'night') {
            obj.flag = 'current'
            dev[obj.brightnessControl] = obj.brightness_current
            dev[obj.command] = 2
        }
        else if (newValue == 0 && obj.flag != 'night') {
            obj.flag = 'off'
            dev[obj.brightnessControl] = 0
            dev[obj.command] = 2
        }
    }
})

Такой код работает без коллизий, но переживаю за “подводные камни” о которых я не знаю.

Добрый день.

Да, можно. Такой прием используется, например для обработки значений из z2m: Обработка событий от zigbee выключателя Aqara H1 c учетом синка устройства - #2 от пользователя hexprof
Если “сторонние” значения в топик не ломают логику зависящих от топика правил.

Спасибо.