WBE2-I-OPENTHERM пример прозрачного обмена

А можно в качестве примера привести в hex-кодах процедуру обмена шлюз-котел через функционал прозрачного обмена (регистры D1-D3). Например, нужно выключить DHW.
Вот прям по шагам - какие данные передать последовательно в регистры D1-D3 и когда затем и в какой последовательности считать данные из них? У меня пока ничего не получилось, вероятно не хватает какой-то информации.

В таком порядке:
D1 - 2 (тип команды - чтение)
D2 - 0 (0 - ID команды)
D3 - Здесь вы должны записать число, 10 бит которого (отвечает за DHW) должен быть равен 0. Например 512.

Эта информация указана в инструкции к модулю (стр 10) и в описании к протоколу (стр 10). Всё это есть в свободном доступе и прежде обратитесь к ним для экономии времени.

Я всё это читал, но что-то сходу у меня не получилось. Хорошо, а читать эти регистры когда можно? После записи информации в D3 или через какой-то промежуток времени?
И как их читать?

Читать их можно в любом порядке примерно через 2-5 секунд, в зависимости от того, когда модуль дойдёт в своём списке до команды “Прозрачный обмен”. В модуле зашита таблица команд (включая команду прозрачного обмена), и он по ней циклично ходит.

1 лайк

Присоединяюсь к просьбе Alex_Jet добавить поддержку уличного датчика в модуль.

Спасибо, разобрался со своим сценарием. Работает как надо. Единственное, после успешной отправки команд с верификацией режима работы котла по его дисплею, как будто перестал читаться регистр входа CD… при чтении всегда нули! Вот для примера - в ID=0 записано 256 (включено только отопление) и происходит запрос тепла (котел включен и греет воду контура CH до 40 градусов), однако статус котла:

Запрос - 0b0400cd0001
Ответ - 0b04020000