Не верная обработка событий wb-zigbee2mqtt

Добрый день.
Столкнулся с не совсем правильной обработкой событий wb-zigbee2mqtt.
Zigbee кнопка Aqara при одиночном нажатии присылает текстовое значение single. Проблема в том, что в канале MQTT WB при повторных нажатиях значение single повторно не приходит, при обработке напрямую через trackMqtt все ОК

Добрый день.
Естественно, если используете 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", "");

Screenshot_20240206_163353

Да, это то понятно.
Но проблема в том, что не происходит перепубликация в топике WB
last_seen - изменяется, а action - повторно не приходит

Неправда.

mosquitto_sub -v -t "/devices/Button_on_table/controls/action"
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single
/devices/Button_on_table/controls/action single

Согласен, так приходят:
root@wirenboard-AHUMZKW7:~# mosquitto_sub -v -t “/devices/Aqara_remote_15/controls/action”
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single
/devices/Aqara_remote_15/controls/action single

даже по два раза, но это не проблема, решается в настройках устройства

filename.csv (352 байта)
а в истории канала нет …

История пишет тоже изменившиеся показания.

Тогда все понятно, спасибо

Соответственно описанный мной метод - позволяет и истории обрабатывать изменения.

Но если честно, то очень странно все это, т.к. есть пульт Икея и от него значения приходят постоянно даже если не меняется текстовое значение

А что именно странным кажется? whenСhanged - предназначен для обработки изменившихся значений.

whenСhanged - предназначен для обработки изменившихся значений - с этим вообще все понятно и нет вопросов

Странно про разбор сообщения от zigbee устройств
от пульта икея даже если текстовое значение не изменилось, то в истории оно все равно приходит каждый раз, а от кнопки акара - нет

Проверьте что предается. Не особо верится.

filename.csv (537 байтов)

вот что приходит от икея, все четко - last_seen и одновременно action

filename1.csv (352 байта)

а вот от акара - last_seen приходит, а action - нет

Это противоречит

Да, но вы видите что по факту в истории

Так… Еще раз, что именно работает не так, как описано в документации и как мне это воспроизвести. Если баг - то да, воспроизведем и исправим.