Собс-но, основной вопрос - пробовал ли кто-то и как-то реализовать доступ к параметрам счётчиков со СПОДЭС чуть более детально, чем в имеющимся драйвере?
Есть счётчик Нартис (отдельные лучи “добра” Россетям, и его производителям, ага).
С него штатным способом (через опрос mqtt-serial СПОДЭС) можно прочитать некие “живые” значения.
Дополнительно требуется читать архивы событий счётчика, как минимум, по событиям отключения электричества (OBIS - 0.0.99.98.2.255) - список вида (дата, код, число), причём с хитрой последовательностью чтения индексов.
На данный момент “научился” слать правильные запросы через gurux.DLMS.Python/examples, но хочется как-то интегрировать это дело с встроенным СПОДЭС, который ничего подобного не умеет. Хочется использовать встроенный драйвер для опроса “живых” значений и, если уж не реализовано, периодический опрос “логов” через внешний скрипт.
Идеи по реализации, мысли, решения - решительно приветствуются
Если для нужного устройства нет шаблона, то вы можете настроить подключение самостоятельно: см. Устройство без шаблона. Как я понимаю, если производитель ПУ не нарушил стандарта СПОДЭС, то должно все получится.
По поводу считывания информации из счетчика Нартис я бы рекомендовал вам поинтересоваться еще у пользователей нашего чата : Telegram: View @wirenboard.
Там всё чуть сложнее, и драйвер СПОДЭС такого, как я понимаю, не умеет.
Надо (минимум) считать списки значений из атрибута 3, затем из атрибута 2, а потом это дело скомбинировать с разными типами данны/атрибутами (классы ≈ 1,2,3,8).
При использовании библиотеки, это делается где-то в её “потрохах” автоматически (по крайней мере в python-версии).
Видимо, таки придётся до-разбираться с библиотекой и вспоминать python
Собс-но, у вас используется та же библиотека - gurux, - для работы с DLMS/COSEM, так что весь функционал уже как-то реализован.
Для начала было бы неплохо просто читать другие типы классов и отдачу этого дела массивом - совсем нетерпеливые сами разгребут.
А так, интересны типы:
GXDLMSData (статическое инфо разное, вроде “аналог” Register по наполнению)
GXDLMSExtendedRegister (пиковые значение с временем регистрации)
DXDLMSDemandRegister (средние значения за периоды регистрации счётчика)
GXDLMSClock (как минимум в качестве компонента других типов, где есть timestamp)
GXDLMSProfileGeneric (это то, что пытаюсь читать сейчас - списки событий различного состава с timestamp, value, ссылкой на OBIS, который пишется в этот лог и прочим)
UPD: Пусть повисит открытым с неделю-другую, вдруг кто-чего ещё предложит…