Побитовое чтение - читаю правильно, отображается неправильно

Читаю регистр как целиком, так и побитово:

            {
              "group" : "vav1",
              "address" : "8002",
              "format" : "u16",
              "name" : "mvav1_task_control",
              "reg_type" : "holding",
              "type" : "value"
            },
            {
              "group" : "vav1",
              "address" : "8002:0:1",
              "format" : "u16",
              "name" : "mvav1_task_control_bit0",
              "reg_type" : "holding",
              "type" : "value"
            },
            {
              "group" : "vav1",
              "address" : "8002:1:1",
              "format" : "u16",
              "name" : "mvav1_task_control_bit1",
              "reg_type" : "holding",
              "type" : "value"
            },
            {
              "group" : "vav1",
              "address" : "8002:2:1",
              "format" : "u16",
              "name" : "mvav1_task_control_bit2",
              "reg_type" : "holding",
              "type" : "value"
            },

Выводится так:
Screen Shot 2023-12-27 at 9.37.52 AM

Регистр у изготовителя описан так:
HOLDING [8002]
Формат: BITMAP16
Имя: mvav1_task_control
Регистр управления
Значения битов (именованный набор VAV_task_control): (показать/скрыть)
Bit 0: Вентиляция VAV зоны включена
Если данный флаг не установлен, то заслонка полностью закрывается.
Bit 1: Работать локально от ручного задатчика
Bit 2: Регулировать параметр
Данный бит предназначен для временного отключения регулирования параметра (CO2, температура и т.д.). При отключении бита осуществляется переход на прямое задание расхода.
Если для VAV зоны выбран “Тип поддерживаемого параметра в VAV зоне” равным “Прямое управление расходом”, то данный бит сбрасывается автоматически.

В нужной мне конфигурации, регистр хранит значение 0x0005 (побитово 101), что правильно.
Но выводится побитово в интерфейс WB неправильно - 111.
Прокинул все 4 параметра из шаблона устройства в Home Assistant и обратил внимание, что mvav1_task_control_bit1 на короткую долю секунды иногда все-таки считывается как 0 (что правильно), это особенно видно, если смотреть историю значений.
Аналогичную историю показывает и график значений непосредственно в контроллере:

Родной софт изготовителя оборудования читает и отображает регистр корректно.

Что сделать, чтобы читалось и отображалось в контроллере WB7 корректно? У меня таких битовых регистров много, и часть выводится правильно, а часть забита единицами при правильных нулях

Добрый день.
Попробую воспроизвести. А пока - дайте диагностический архив. Нужно понять что за версии ПО используется.

Спасибо за отклик, прикрепляю

приложен диагностический архив, доступен только сотрудникам поддержки
(214.8 KB)

Что-то крайне подозрительное:
сделал шаблон с каналами:

            {
                "name": "testreg",
                "reg_type": "holding",
                "address": 200,
                "scale": 1,
                "max": 255,
                "type": "value",
                "format": "u16",
                "group": "general"
            },

            {
                "name": "testreg0",
                "reg_type": "holding",
                "address": "200:0:1",
                "scale": 1,
                "max": 255,
                "type": "value",
                "format": "u16",
                "group": "general"
            },

            {
                "name": "testreg1",
                "reg_type": "holding",
                "address": "200:1:1",
                "scale": 1,
                "max": 255,
                "type": "value",
                "format": "u16",
                "group": "general"
            },
            {
                "name": "testreg2",
                "reg_type": "holding",
                "address": "200:2:1",
                "scale": 1,
                "max": 255,
                "type": "value",
                "format": "u16",
                "group": "general"
            },

Получаю ожидаемое:
Screenshot_20231227_181914
Ну и соответственно
Screenshot_20231227_182525
Да и ниже от нуля - нормально.
Обновите пакеты, кстати.

Недавно обновлялся, сейчас предложено лишь:

The following packages will be upgraded:
  curl libcurl3-gnutls libcurl4 wb-release-info

Не может ли быть какой-то ошибки в настройках шаблона устройства? Тайминги там какие надо выставить? Сейчас там лишь:

    "max_reg_hole": 10,
    "max_read_registers": 60,

Нет ли каких-то ограничений на размер шаблона устройства?
Сейчас читается более 150 параметров - как целиком регистры, так и побитово

Понимаю, что имитация не получается, но проблема у меня реально существует

Нет, никак не влияют на само чтение.

Не должно…

Для того чтобы все ж попробовать понять - сделайте слеюующее:

  • отключите опрос остальных устройств, оставив только одно.
  • включите debug для wb-mqtt-serial
  • если возможно - переключите в несколько разных состояний (значений) регистр

Ну и пришлите даигностический архив. Посмотрю, пока не получается подобное воспроизвести.