Поддержка тарифов в Нева 324

Добрый день, в теме про Неву 324 уже задавали вопрос, который остался без ответа. А всё таки можно добавить каналы по тарифам, я думаю у большинства людей 2х тарифная сетка, а в текущем виде (total) - информация бесполезна, её не передать автоматически поставщику услуг

Здравствуйте.
На данный момент у нас только однотарифные счетчики.
На данный момент, я думаю, что это можно через правила реализовать.

А как через правила?

Создать виртуальное устройство и написать сложное правило с расписанием.

Я может чего-то не понимаю, у меня сейчас всё через NodeRed настроено.
И среди каналов данного устройства нету каналов для тарифов, я через правила их новые как смогу сделать? самому писать логику расчёта из текущих показаний?

Да.

1 лайк

Посмотрите Прошу помочь с кодом! WB-MAP6S + 3ая тарификация - #3 от пользователя Geldion

А кстати в чём сложность все тарифы зачитывать? Они все идут с одного адреса (0x0F0880FF), через запятую. Это можно где-то найти в коде, конфигах? Мне наверно будет проще кодовую базу поправить, чем писать костыль на правилах.

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

 {
        "name": "Total A energy",
        "reg_type": "obis_cdef_1",
        "type": "power_consumption",
        "address": "0x0F0880FF"
      },
 {
        "name": "Total A energy (T1)",
        "reg_type": "obis_cdef_2",
        "type": "power_consumption",
        "address": "0x0F0880FF"
      },

 {
        "name": "Total A energy (T2)",
        "reg_type": "obis_cdef_3",
        "type": "power_consumption",
        "address": "0x0F0880FF"
      },

Хотя вроде в проде типы там чуть другие “item_1” - но предположу, смысл тот же.
Возможно изменения не только в конфиге, прошу дать ответ на моё предположение.

Здравствуйте.

Уточню данный вопрос через наших разработчиков.

Рекомендации от разработчиков:
“Идём сюда GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver
Видим, как формируются адреса регистров.
Идём в счётчик, ищем на экране счётчика нужный параметр. В верхней строке написаны магические числа через точку. Их вбиваем в качестве адреса. Вероятно, оно даже сразу заработает”.

Как формируется адреса регистров я уже видел (есть excel от разработчиков Тайпит).

  1. В верхней строке счётчика немного не тот формат
    E1.0.FF - это соответствует (Active energy from the first start of measurement to the instantaneous time point (Total, T1,…,T4), kWh - 0F0880FF
  2. Адрес для тарифов будет один и тот же, значения придут через запятую
    По “reg_type”: “item_1” - считывается первое значение.
    Я предположил, что если продублировать блок с тем же адресом, но с “reg_type”: “item_2” я смогу получить значение T1 (первый тариф) и аналогично T2.
    Верно ли моё предположение
  3. Я не увидел указаний, куда вносить данные изменения в какой/какие конфиги, и что сделать чтобы этот конфиг подхватил WB (и что может пойти не так)?

Ответ от разработчиков:
“Идём сюда GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver
Видим, как формируются адреса регистров.
Идём в счётчик, ищем на экране счётчика нужный параметр. В верхней строке написаны магические числа через точку. Их вбиваем в качестве адреса. Вероятно, оно даже сразу заработает”.

Вы это уже писали выше, на пункты 2, 3 - ответа не получил

Простите, упустил.

Да. Это должно сработать. К сожалению, нет под рукой данного электросчетчика и не могу проверить. Необходимо пробовать.

Скопируйте куда-нибудь для резервной копии файл: /usr/share/wb-mqtt-serial/templates/config-neva-mt32x.json.
Выполните команду systemctl stop wb-mqtt-serial.
Измените конфиг, расположенный в /usr/share/wb-mqtt-serial/templates/, как вы предполагаете.
Выполните команду systemctl start wb-mqtt-serial.

Если данные изменения будут некорректны и окажется не рабочей схемой, то может некорректно работать драйвер wb-mqtt-serial и могут отвалиться все устройства на шине. Необходимо будет выполнить команду systemctl stop wb-mqtt-serial. Вернуть оригинальный конфигурационный файл и выполнить команду systemctl restart wb-mqtt-serial.

Большое, спасибо!
Всё действительно получилось.
Создал PR - Добавление тарифов День/Ночь в счётчик Нева МТ324 by goldserg · Pull Request #634 · wirenboard/wb-mqtt-serial · GitHub
Но что-то пошло не так…

image

Миша в отпуске.

Расскажите чуть подробнее, что не так? Я не в теме, не пользовался тарифными счётчиками.

“Не так”, я про автоматическую проверку кода в PR. Я код не затрагивал, только конфиг :slight_smile:
А со счётчиком всё отлично и заработало с первого раза по инструкции

А, там ченджлог надо поменять — это внутренняя кухня, не обращайте внимание. Спасибо за PR, дежурный программист обработает, всё поправит и примет в ближайшие пару дней.

2 лайка

Кодировка параметров НЕВА MT324.xls (80 КБ)
На всякий случай приложу, вдруг кому понадобиться.
Это файл от разработчиков тайпит, столбец P добавил самостоятельно для удобства

3 лайка

Спасибо за PR и проверку, доступно в тестинге (wb-mqtt-serial 2.95.0).

1 лайк