WBE2-I-OPENTHERM проблема 2

Ввводные те же (см. WBE2-I-OPENTHERM проблема 1)

Прошу разработчиков прояснить логику работы модуля с котлом. Какие ячейки (data-id) котла читаются, какие записываются, как часто, и при каких условиях? Какие ячейки связаны с какими modbus регистрами?
Как влияет на этот процесс конфигурация опроса modbus регистров модуля через serial драйвер WB (конкретно, значение параметра Poll для параметра (‘do not read’/‘in queue order’/etc)?

В имеющейся документации (OpenTherm_Modbus_BCG-1.0.2-W.pdf) эти вопросы не освещены практически никак. Например, соответствие ячейки и регистра указано только в одном случае (ячейка 28 - регистр чтения 0216).
Вдобавок, использование в документации “сокращённых” номеров modbus регистров ведёт к путанице. Например, регистр 0207 - это input register 30207, или holding register 40207? На чтение доступен и тот, и другой…

Также, помимо проблемы, озвученной в предыдущем посте (WBE2-I-OPENTHERM проблема 1), это позволит разобраться с другими малопонятными “феноменами” в работе модуля.
Например, запись через “прямой обмен” в ячейку 1 не приводит к изменению в ней значения, несмотря на то, что в mqtt модуль публикует 5/WRITE-ACK (предположительно, из-за того, что модуль сам постоянно пишет туда значение из топика Hot Water Setpoint, даже в том случае, когда значение Poll для этого канала стоит в ‘do not read’ и он в web-интерфейсе модуля вообще не отображается)
А в топике “Hot Water Temperature” иногда публикуются значения, совершенно невозможные по формату для opentherm ячейки, с которой он, предположительно, связан (026 DHW temperature имеет формат f8.8, и при этом в топике публикуется, например, 244)

Косвенным образом с этим, вероятно, связана и катастрофически медленная реакция модуля на команды “прямого обмена”. Даже при выключении (‘do not read’) всех остальных, кроме TR*, каналов, цикл чтения ячейки занимает более 15 секунд… Можно как-нибуть попросить модуль обслуживать только “прямой обмен”?

Поскольку никакой реакции на этот пост от @Vladimir_Nev_Sup я не получил, попробую ещё раз задать те вопросы, ответы на которые я хотел бы узнать.

  1. Какие ячейки (data-id) котла модулем читаются, какие записываются, как часто, и при каких условиях?

  2. Какие ячейки (data-id) котла связаны с какими modbus регистрами модуля?

  3. Как влияет на этот процесс чтения/записи модудем ячеек котла конфигурация опроса modbus регистров модуля через serial драйвер WB (конкретно, значение параметра Poll для параметра (‘do not read’/‘in queue order’/etc)?

  4. Можно как-нибуть устроить так, чтоб модуль обслуживал только “прямой обмен” (т.е. никакие другие чтения/записи ячеек котла, кроме тех, что заданы через “прямой обмен”, не производил)?

Добрый день.

  1. Список читаемых команд (в порядке очереди): 0, 5, 25, 26, 17, 18, 27, 48, 49, 28, 3.
    Список записываемых команд (в порядке очереди): 1, 56, 2.
    Частота 1 раз в секунду.
  2. Указано на инструкции стр 9,10 Инструкция
  3. Никак не влияет со стороны модуля. “do not read” - регистр не читается WB, “in queue order” - читается в порядке очереди.
  4. Нет, список опрашиваемых команд (1) нельзя изменить/отключить.

Спасибо за конкретику! Но разрешите, всё-таки, несколько уточняющих вопросов:

  1. Я полагаю, что то, что вы называете “командами” - это data-id в терминах оригинального документа Opentherm Protocol v2-2.pdf? Тогда предлагаю использовать для перевода на русский термин “ячейка”. Ибо ячейки можно и писать и читать (называть командой прочитанное из котла значение статуса - несколько странно…), и при этом не будет коллизий с регистрами modbus.

  2. Правильно ли я понимаю, что 1 раз в секунду опрашивается одна, из перечня, ячейка opentherm slave устройства? Т.е. на опрос 11 перечисленных ячеек, и запись трёх, тратится ~14 секунд?
    Опрашиваются ли ячейки, заданные в команде прозрачного обмена, только в тот цикл опроса, в который завершено формирование пакета на обмен? Если нет, то как тогда?

  3. На страницах 9 и 10 информация о соотвествии (да и то - неявно, без указания конкретной ячейки по спецификации opentherm) дана только для регистра CD/0205 “Статус котла”. Именно поэтому я и задал свой вопрос, и жду от вас ответа.

  4. Принято. Но всё-таки хочется уточнить, как на цикл опроса влияют команды прозрачного обмена?

  5. Жаль. Если бы у вас был специальный вариант прошивки, содержащий только трансляцию команд прозрачного обмена - я бы первый её установил.

  1. Да. Только запись 3х (если вы про прозрачный обмен) происходит одновременно. Эти 3 регистра формируют 1 пакет в котёл, то есть ~12 сек.
  2. Никак не влияют. Фиксированные команды идут циклично. Прозрачный обмен идёт в конце цикла если есть, что отправить.
  3. В течение 2х недель могу для вас сделать такой вариант прошивки, если всё ещё есть необходимость?

Нет, я про запись ячеек 1, 56, 2 - они тоже циклически записываются? Или только в случае изменения регистров modbus модуля? Если только по изменению, то было бы здорово всё-таки получить список соответствия: регистр modbus модуля ↔ номер ячейки opentherm (и алгоритм обмена… это как раз два первых вопроса, которые я задал вам ещё 26го марта, и повторил 28го, и повторяю сейчас, т.к. до сих пор не получил от вас полного ответа)

Понятно. Значит, чтение ячеек opentherm slave устройства модуль производит постоянно с одинаковым (жёстко заданным) темпом, а темп чтения прочитанных модулем значений через регистры modbus определяется настройками драйвера wb-mqtt-serial?

И позвольте, всё-таки, уточнить - у вас там внутри точно есть синхронизация между этими двумя циклами обмена? Есть защита от того, что команда чтения modbus регистра заберёт из него данные как раз в тот момент, когда они обновляются командой чтения ячейки opentherm?

Да, есть. По факту мой модуль сейчас неработоспособен.

Добрый день. Сообщите статус вашей проблемы.

Здравствуйте. Я вам описал “статус моей проблемы” в телегу (@NevotonSupportBot) ещё в конце июля. Кроме “спасибо” никаких других сообщений в ответ не получил. Могу и здесь кратко продублировать. В версии 1.7.3 ни одна из проблем, про которые я писал, для версий 1.3-1.5, не была исправлена. Однако, эта версия оказалась не такая ужасная, как 1.6-1.7 (на которых я вообще не мог использовать котёл, и вынужден был откатываться на 1.5), и я её пока оставил в эксплуатации.
Выходили ли апдейты после 1.7.3 - не интересовался.

И, конечно, весьма печально, что на странице модуля Модуль расширения: OpenTherm, WBE2-I-OPENTHERM — Wiren Board (я уж не говорю про https://nevoton.ru/product/modul-rasshireniya-opentherm-dlya-wiren-board-6 ) вся история изменений замерла на версии 1.6.0. Тестировать новую версию софта без списка изменений - такое себе.

Хорошо хоть часть котлов BAXI там вынесли из раздела “Поддерживаемые модели”. У меня, правда, есть опасения, что и остальные котлы BAXI не будут работать как надо…

Мы с Невотоном довольно активно тестировали(тестируем) этот модуль с прошивкой 1.7.3 и котлом Ferroli . Результат какой-то странный: от котла приходят (модуль получает\обрабатывает) кривые данные не соответствующие реальности. Проверяли многое начиная с проводов и напряжений до шаблонов и регистров. Например температура СО скачет от нормального значение (очень похожего на ту что на котле в данный момент например +21) до +40+80 и обратно. Тоже с модуляцией и со всеми остальными меняющимися данными.
Невотон говорит что нужно разбираться с прошивкой котла… Но через неделю у меня будет другой модуль OpenTherm - проверим как котел работает с ним.

Я, честно говоря, уже немного подустал от всей этой истории… Невотон расскаывает тут про провода и контакты с самого выхода своего модуля. НО У НЕГО В ПРОШИВКЕ - СЕРЬЁЗНЫЕ БАГИ! …не знаю, как по-другому привлечь внимание к этой проблеме :frowning:
Занимаясь ей с начала 2023 года я уже дописал прошивку логического анализатора для DSO203, написал декодер протокола opentherm для sigrock, отдал этот декодер невотону вместе с подробными баг-репортами (WBE2-I-OPENTHERM проблема 1 strikes back ) , но опять читаю, что невотон с вами “проверяет провода напряжения шаблоны и регистры”… Наверное, последнее, что осталось, это попросить невотон исходники их прошивки, самому найти там ошибки, и их исправить. Потому, что не найти и не исправить ошибки за полтора года это a little too much…

Нет, конечно, иногда и провода обрываются, и контакты отходят, но “нельзя избавиться от беременности втирая в живот крем для похудания!”

3 лайка

Согласен. Читал ваши темы на форуме. Но решил сам понаступать на грабли - получилось! :slight_smile:

Что в итоге с новым модулем OpenTherm?

В итоге поменял модуль для WB на NEVOTON BCG-1.1.3-WF и всё работает. И кабель простой двухжильный без всяких экранов, и данные котел четко отдает, и управляется во всех режимах. И второй котел Baxi AmperaPro тоже подключил через такой модуль без проблем.
Есть конечно маленькие недоработки - но невотон очень оперативно их правит. Например пара моих хотелок написанных на прошлой неделе вошли в выпущенную сегодня прошивку 1.95.

А BCG-3.0.1-W пробовали? Оно работает? Обновляется?
Пока приглядываюсь, но WiFi не устраивает. Modbus хочу.

Нет не пробовал. меня устроила функциональность с wifi.
Также контроллер публикует данные в MQTT в формате годном для WB и может читать состояние датчика температуры из MQTT. + имет API через которое я таскаю данные в zabbix (есть шаблон)

За такую сумму можно полнофункциональный контроллер купить, который будет двумя котлами управлять, трехходовыми и насосами.

Модуль для WB не сильно дешевле то :slight_smile: А что купить то можно? ссылочку плиз!

Сейчас наверное не сильно дешевле, но я за 5000 покупал. Купить можно контроллер Флагман, отлично работает и автономно.