Считывание данных с Пульсар

Вопрос в поддержании протокола Пульсар на примере с 16-канальным модулем.
В отличие от Modbus устройств, не создается строка со значением в интерфейсе с устройствами.
На изображении находится выпадающий список с заголовком "Pulsar". (Captioned by AI)

Я бы подумал, что невозможно считать, но если я выбираю Пульсар Water Meter - то я вижу первое значение из всех. Но только одно. Может, вы можете подсказать, как идет считывание в этом случае и добавить UI для добавления ост. 15 каналов?
Немного больше контекста и скриншотов тут

Добрый день.
Это оборудование есть в поддерживаемых?

Нет, конкретно этого оборудования нет. Но есть общее наименование: Устройства с протоколом Пульсар.
И раз Пульсар Water Meter смог спарсить одну метрику, был бы рад, если сможете подсказать,как в интерфейсе “Устройства с протоколом Пульсар” сделать считывание такое же, как и в Пульсар Water Meter

Для таких устройств существует два шаблона: wb-mqtt-serial/templates/config-pulsar-water.json at master · wirenboard/wb-mqtt-serial · GitHub и wb-mqtt-serial/templates/config-pulsar-m-water.json at master · wirenboard/wb-mqtt-serial · GitHub

Я предполагаю что следует создать кастомный шаблон и добавить в него нужное количество (и тип) считываемых значений.


То есть мне сюда из шаблона загрузить структуру json? или я сам темплейт где-то могу поменять?


{
    "device_type": "pulsar-water",
    "slave_id": "9646317",
    "title": "Pulsar Water Meter",
    "group": "g-water-meter",
    "device": {
        "name": "Pulsar Water Meter",
        "id": "9646317",
        "protocol": "pulsar",
        "response_timeout_ms": 500,
        "frame_timeout_ms": 300,
        "channels": [
            {
                "name": "ch1",
                "reg_type": "default",
                "address": "0",
                "format": "float",
                "type": "water_consumption"
            },
            {
                "name": "ch2",
                "reg_type": "default",
                "address": "1",
                "format": "float",
                "type": "water_consumption"
            },
            {
                "name": "ch3",
                "reg_type": "default",
                "address": "2",
                "format": "float",
                "type": "water_consumption"
            }
        ]
    }
}

К примеру так. не сработало, если добавить

Зачем?
Документация про шаблоны: GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver
Типично создается пользовательский шаблон для устройства и располагается в каталоге пользовательских шаблонов.

А какой (какие) адреса в устройстве планируете читать? Советую начать с описания реализации протоколов именно на подключаемое устройство.

Спасибо! помогло. Если интересует можем поделиться шаблоном для Пульсар М16 :slight_smile:

Да, выложите сюда файлом - это наверняка поможет тому, кто столкнется.

В моем случае хватило только 4 метрик. Нет возможности проверить все 16 каналов. Но полагаю, что просто продублировать все


{
    "device_type": "pulsar-16",
    "title": "Pulsar-M16",
    "group": "g-water-meter",
    "device": {
        "name": "Pulsar-M 16",
        "id": "pulsar-m-16",
        "protocol": "pulsar",
        "response_timeout_ms": 500,
        "frame_timeout_ms": 300,
        "channels": [
            {
                "name": "Consumption 1",
                "reg_type": "default",
                "address": "0",
                "format": "float",
                "type": "water_consumption"
            },
            {
                "name": "Consumption 2",
                "reg_type": "default",
                "address": "1",
                "format": "float",
                "type": "water_consumption"
            },
            {
                "name": "Consumption 3",
                "reg_type": "default",
                "address": "2",
                "format": "float",
                "type": "water_consumption"
            },
            {
                "name": "Consumption 4",
                "reg_type": "default",
                "address": "3",
                "format": "float",
                "type": "water_consumption"
            }
        ]
    }
}

Благодарю, то есть каналы просто последовательны, с шагом 1.