[Модуль] Энергомера (energomera)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

[Модуль] Энергомера (energomera)

Сообщение Ivan » Вт сен 06, 2016 9:01 am

Модуль для считывания данных с электросчётчиков, газовых счётчиком, водяных счётчиков фирмы "Энергомера" по протоколу -МЭК 61107-2001 IEK61107

Ссылка на модуль: https://github.com/Shagrat2/majordomo-energomera

Изображение

Перечень устройств:
  • Энергомера: СЕ102, ЦЭ6823М, ЦЭ6850, СЕ300, СЕ301, СЕ303
  • Меркурий: Меркурий 203.2Т, Меркурий 206, Меркурий 233, Меркурий 234, Меркурий 236
  • Газэлектроника: ЕК260
  • ELGAMA – ELEKTRONIKA: GAMA 100
Интерфейсы протокола:
  • RS485
  • RS232
  • IRDA
  • ModBus
Проверен:
  • EKT5CE102Mv01 Энергомера CE102M - Интерфейс RS485. Через адаптер RS485 USB, 9600 7e1, Ubuntu 16.04
  • EKT5CE301v7
  • EKT5CE300X
Спецификация протокола: В данной версии реализован только безадресный тип запроса, если у вас несколько устройств на шине, напишите, добавлю в модуль адресные запросы.

Не реализовано:
  • Мульти адресный запрос
  • Пробуждение устройства на скорости 300 бод (Для моего счётчика не нужно)
  • Запрос данных с массивами и указанием даты среза (Было не нужно)
Параметры считывания обязательно идут с указанием аргументов запроса. Проверял пока только с пустыми скобками
Перечень параметров которые проверял:
  • SNUMB() - Заводской номер счетчика
  • VOLTA() - Действующее значение напряжения [В]
  • CURRE() - Действующее значение тока [A]
  • POWEP() - Мгновенное значение мощности [кВт]
  • FREQU() - Значение частоты сети [Гц]
  • COS_f() - Значение коэффициента мощности
  • ET0PE() - Запрос показаний энергии
Внешний видПоказать
Снимок.JPG
Снимок.JPG (47.65 КБ) 24006 просмотров
Если у вас есть другие счётчики этих компаний с интерфейсом считывания, готов дописать модуль под ваш протокол и интерфейс

Сценарий для счетчика Меркурий 200 для Linux

чтение мгновенных данных U,P, I электросчетчика милур 104 через роутер asus rt-n66u
За это сообщение автора Ivan поблагодарили (всего 10):
sergejey (Вт сен 06, 2016 10:09 am) • ингвар (Ср сен 07, 2016 10:09 pm) • slgeo (Сб сен 10, 2016 11:02 pm) • AlexK-71 (Пн окт 17, 2016 3:12 pm) • shemnik69 (Вт окт 25, 2016 12:51 pm) • dioxin (Вс окт 22, 2017 12:05 am) • Колючий (Вт окт 24, 2017 9:54 am) • Vit (Вс янв 28, 2018 12:54 pm) • x-guest (Вс ноя 04, 2018 3:52 pm) • obrian (Чт янв 24, 2019 9:51 pm)
Рейтинг: 11.63%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль Энергомера

Сообщение Ivan » Вт сен 06, 2016 9:43 am

Пробовал 2 года назад сделать считывание, заказал rs485 usb
СпойлерПоказать
UT8FVazXjBXXXagOFbXr.jpg
UT8FVazXjBXXXagOFbXr.jpg (264.38 КБ) 24011 просмотров
Через Windows программой AdminTools он прекрасно считывался. Но вот в Ubuntu никак не хотел. Пробовал разные спосоты и через file, socket, dio, пробовал другими языками Perl, QT - всё равно не пахало.

Оказалось в этом переходнике стоит чип CH341SER. А в Ubuntu используется драйвер с не дописанной поддержкой EVEN parity
Прямо так в исходниках ядра и написано "Не реализовано"

Чтобы всё работало, качаем архив http://www.wch.cn/download/CH341SER_LINUX_ZIP.html
Распаковываем. Делаем make и заменяем файл ch34x.ko в системе
Вложения
Снимок.JPG
Снимок.JPG (41.79 КБ) 24011 просмотров
За это сообщение автора Ivan поблагодарил:
dioxin (Вс окт 22, 2017 12:04 am)
Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль Энергомера

Сообщение Ivan » Вт сен 06, 2016 10:02 am

Вот мой суточный график
Снимок2.JPG
Снимок2.JPG (38.54 КБ) 24006 просмотров
На нём видно какая паршивая у меня подстанция.
Также видно когда включали электро чайник и духовой шкаф
Компьютер который считывает данные - нетбук, не выключается при пропадании питания, счётчик как оказалось тоже данные выдаёт даже если нет питания. Что оказалось весьма наглядно - видно краткие отключения
За это сообщение автора Ivan поблагодарил:
Profd (Ср сен 14, 2016 8:23 pm)
Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль Энергомера

Сообщение Amarok » Вт сен 06, 2016 11:04 am

А "СОЭ-5/50-Т-012" как подключить?
За это сообщение автора Amarok поблагодарил:
woow (Вс сен 22, 2019 10:00 pm)
Рейтинг: 1.16%
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль Энергомера

Сообщение Ivan » Вт сен 06, 2016 12:17 pm

Amarok писал(а):А "СОЭ-5/50-Т-012" как подключить?
Какой интерфейс у вашего счётчика (RS485, IRDA, ...)?

В зависимости от интерфейса нужно определится с считывателем. И попробовать считать официальной программой. Также хорошобы узнать или получить спецификацию протокола (обычно есть на сайте)
http://mzep.ru/schetchiki-elektroenergi ... spechenie/
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
AndrewS
Сообщения: 123
Зарегистрирован: Пт апр 15, 2016 10:18 am
Откуда: 21RU
Благодарил (а): 5 раз
Поблагодарили: 20 раз
Контактная информация:

Re: Модуль Энергомера

Сообщение AndrewS » Вт сен 06, 2016 2:30 pm

Самое интересное это не получать график, а "знать" из графика, что в какой момент включено, и это сделать на самом деле не сложно, например по чайнику, мощность увеличивается, напряжение уменьшается, время примерно одинаковое, ну там +- на полный/неполный чайник.
А сделать это хорошо для профилактики ЧП. Допустим если у чайника замкнут контакты, он может кипеть пока не выкипит или не поплавится, а зная, что он должен выключится, можно сообщить о проблеме. Ну или зарядка, если включено устройство на зарядку, ток опустится на ту же величину, что и поднялся, и розетку после зарядки можно выключить...
Слабость - велика, а сила - ничтожна.
ARMBIAN 5.38 stable Debian GNU/Linux 9 (stretch) 4.14.18-sunxi
System load: 2.03 1.85 1.78 Up time: 23 days
Memory usage: 65 % of 2014MB CPU temp: 37°C
Orange Pi Plus 2 H3 Quad Core 1.6GHZ 2GB
Silowar
Сообщения: 85
Зарегистрирован: Пт фев 06, 2015 10:19 am
Благодарил (а): 16 раз
Поблагодарили: 9 раз

Re: Модуль Энергомера

Сообщение Silowar » Вт сен 06, 2016 3:28 pm

Меркурий 231АТ, у меня стоит такой. Интерфейс ик порт, через usb. Считываю данные конфигуратором. Когда смотрел, что там он шлет, то вроде все сопадало с 233. Но адрес был 25. А еще, этот модуль только для ux?
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Модуль Энергомера

Сообщение Jager » Вт сен 06, 2016 5:10 pm

Отличная тема! У меня меркурий 230, под виндой родной программой через RS-485 все считывается.
Уже пару лет мучаюсь с привязкой к мдм, перепробовал кучу скриптов, безрезультатно.
Протокол описан здесь, там же есть скрипт, но он под виндой не пашет.
Просьба рассмотреть вариант включения поддержки в модуль, готов проставиться :)
Адаптер RS-485-USB китаец.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль Энергомера

Сообщение Ivan » Вт сен 06, 2016 5:37 pm

Silowar писал(а):Меркурий 231АТ, у меня стоит такой. Интерфейс ик порт, через usb. Считываю данные конфигуратором. Когда смотрел, что там он шлет, то вроде все сопадало с 233. Но адрес был 25. А еще, этот модуль только для ux?
Модуль и на Linux и на Windows, только проверял я его только под Linux
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Модуль Энергомера

Сообщение Ivan » Вт сен 06, 2016 5:39 pm

Silowar писал(а):Меркурий 231АТ, у меня стоит такой. Интерфейс ик порт, через usb. Считываю данные конфигуратором. Когда смотрел, что там он шлет, то вроде все сопадало с 233. Но адрес был 25. А еще, этот модуль только для ux?
Сделайте дамп с конфигуратора и выкладывайте сюда
Попробую сделать под Меркурий (пишите в личку, готовьте терминалы)
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить