Реализации протокола СПОДЭС

Добрый день, надеюсь в последнее время не сильно вас утомил своими вопросами.

Условия: имею счетчик меркурий 204, контроллер WB 8.5 с прошивкой 2602.
Цель: собрать интересующие параметры счетчика по протоколу СПОДЭС контроллером WB.

Реализация: завел счетчик в как устройство с протоколом DLMS/Сподэс и необходимые каналы - параметры. До этого изучил вашу документацию на GIT по поводу реализации данного протокола в WB-mqtt-serial. Основное: опрашиваться могут только параметры с классом 3v0.

Проблема: в выбранных параметрах фигурирует “А+ за текущий день по тарифам” (ниже предоставлю информацию по данному параметру с сайта Incotex), который не опрашивается (подсвечивается красным), хотя имеет 3й класс. Применив все свои навыки анализа заметил, что параметры с OBIS-кодами, заканчивающимися на 255, с наличием 1 атрибута и имеющие класс 3v0 нормально опрашиваются контроллером. А проблемный параметр имеет значение во втором атрибуте и иное окончание адреса.

Вопрос: возможно ли как то явно указать в конфигурации Serial устройств плк целевой атрибут для конкретного канала? Пробовал по рекомендации ИИ указывать явно “attribute” в конфигурации, но это не дало результата. Если это нельзя сделать, то дайте пояснения что является проблемой для чтения подобных параметров.

Добрый день.
Вот это использовали для настройки?
Напишите пожалуйста как сконфигурирован сейчас опрос ну и включив debug выложите пару минут логов.

Видел информацию, представленную по вашей 1й ссылке, еще перед началом настройки - чтобы ускорить данный процесс. Сейчас по ссылке на представленной странице также открыл документ с адресацией и убедился, что информация совпадает с моим используемым источником.

Ниже представлены логи, а также прикрепляю файл конфигурации.

PS: посмотрев логи понял, что ошибка по интересующему меня адресу следующая: Access Error : Device reports a undefined object. Но с чем она связана не понятно.

wb-mqtt-serial.conf (7,6 КБ)

wb-mqtt-serial_20260508T102507.log (43,5 КБ)

Да, вижу.
Отправляется верно

2026-05-08T03:25:05.374Z [wb-mqtt-serial] DEBUG: [port] /dev/ttyRS485-1: Write: 7e a0 1c 00 02 14 2b 61 32 76 19 e6 e6 00 c0 01 c1 00 03 01 00 01 09 01 1e 03 00 68 35 7e

Ну и формируется запрос корректно, “01 00 01 09 01 1e 03”
А если записать вместо “address” : “1.0.1.9.1.30”, “address” : “1.0.1.9.255.30”, - начинает работать или меняется? Потому что скорее ввсего существует только “по всем фазам” в устройстве.

Из руководства: “X” может принимать значения от 1 до 4. Однако попробовал поставить 255 и в логах следующее: Read DLMS packet failed: 4, Access Error : Device reports a undefined object.

По факту все также не читает.

А если 0?


Из описания понятно что если тариф задан - то должно отдавать.
Для того чтобы убедиться - лучше использовать фирменный конфигуратор и опросить с него.

Еще до обращение пробовал подставлять “0” - проблема все так же. По умолчанию у счетчика из коробки присутствует первый тариф.

У меня идеи кончились, тут лучше все ж попробовать опросить его, счетчик с помощью программы от производителя, “Конфигуратора”.
То есть возможно два варианта: уровня прав с которым авторизуетесь недостаточно для чтения (ну, маловероятно, все ж) и передача реализуется другим кодом.