Настройка правильной реакции на Zigbeee2MQTT в Rules

Здравствуйте! Вопрос аналогичен Настройка правильной реакции на MQTT в Rules , но есть отличие. Там это решилось чтением топика /on, но почему-то это не работает в zigbee2mqtt. У меня есть zigbee выключатели, которые шлют тип нажатия, например, single_left. double_right, и так далее.

Мне нужно, чтобы при нажатии срабатывало правило. Но вот такая конструкция не работает:

trackMqtt("/devices/0x54ef441000ee5ba5/controls/action/on", function(message){
      log("1 switch 1 button pressed");
      if (dev[z2m_id]["action"] == "single_left"){
        if (dev["wb-mr6c_45"]["K1"] == "1"){
          dev["wb-mr6c_45"]["K1"] == "0"
        } else if (dev["wb-mr6c_45"]["K1"] == "0"){
          dev["wb-mr6c_45"]["K1"] == "1"
        }
      } else if (dev[z2m_id]["action"] == "single_right"){
        dev[intesis_name + "/Power"] = true
        dev[intesis_name + "/Mode"] = 0
      }
});

Как мне сделать такое правило, которое будет срабатывать каждый раз при приходе статуса, и не будет срабатывать при перезагрузке rules/mqtt?

Добрый день.

Рекомендую подписаться на топик данного устройства и проверить, какие данные приходят при нажатии клавиши. После этого можно настроить реакцию на изменения в топике.

Например, жмём один раз на левую клавишу, приходит single_left. Жмём ещё раз - в этот же самый топик приходит то же самое single_left. Между ними нет никакого промежуточного значения, в топике всегда лежит последнее действие. Соответственно, значение топика не меняется в этом случае, а мне нужно выполнять действие при каждом нажатии.

Нашёл на форуме схожие темы, попробую этот вариант:

Добрый день,

Буду ждать обратной связи.

Ну, тут еще и при начале работы скрипта неплохо бы топик чистить.

Добрый день, удалось ли решить вопрос?

Пока не было выездов на этот объект. Как доедем - отпишусь