Блоки OpenTherm для связи с котлами

Блоки записи и чтения данных газовых котлов с интерфейсом OpenTherm

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

Блоки OpenTherm для связи с котлами

#1

Сообщение Fuji1604 » 24.01.2019{, 21:19}

Блоки для связи с отопительными котлами по протоколу ОpenТherm. Во вложении 3 блока:
1. OpenThermMaster позволяет: получить статус котла, установить температуру воды, включить/выключить центральное отопление, включить/выключить горячую воду, получить текущую температуру и уровень модуляции газовой гоелки.
2. OpenThermMaster+Serial тоже что и предыдущий плюс вывод данных в UART.
Сделаны на основе немного измененной библиотеки OpenTherm

3. Master_OpenTherm Более сложный в освоении, но позволяет читать/записывать любые данные, согласно спецификации протокола ОpenТherm. Может выводить данные в порт (раскомментируйте стоки содержащие слово Serial) Использует библиотеку arduino-opentherm

Как смог перевел спецификацию и комментарии в библиотеках.

Чтобы подключить плату Arduino к оборудованию, вам нужно создать специальный аппаратный интерфейс для преобразования уровней напряжения и тока, чтобы Arudino мог связаться с котлом. Напряжение на выходах Opentherm поднимается до 24 В, что может привести к перегоранию вашего Arduino, если он подключен к проводам напрямую.
Изображение
Плату сопряжения проверить не сложно — подключаете к котлу, подаете питание. Вывод RX не используете(если есть лог. анализатор то будет проще потом) вывод TX (после R4) на землю. На контактах к котлу должно быть около 20 В. После этого вывод R4 на +5В — должно быть меньше 7В (около 5ти). Это значит, что плата на передачу работает нормально. На прием можно проверить только после прошивки МК.
Вложения
OpenTherm.ubl
(7.47 МБ) 357 скачиваний
arduino-opentherm-master_ FLprog.zip
(3.63 МБ) 393 скачивания
opentherm_library-master_FLprog.zip
(9.92 КБ) 329 скачиваний
Спецификация протокола OpenTherm.docx
(81.53 КБ) 416 скачиваний
Последний раз редактировалось Fuji1604 25.01.2019{, 12:54}, всего редактировалось 1 раз.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08.09.2017{, 19:47}
Репутация: 14
Откуда: Тверь
Имя: Вадим

Блоки OpenTherm для связи с котлами

#21

Сообщение olddolin » 17.02.2020{, 16:04}

Интересно, а если у кого инфа по котлу типа Proterm Scat или Vailant. Может кто-то уже и эти котлы освоил, потому как разьемы на плате есть.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 678
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 49
Имя: Виктор

Блоки OpenTherm для связи с котлами

#22

Сообщение ViktorPetrov » 17.02.2020{, 19:35}

olddolin писал(а):
17.02.2020{, 16:04}
Интересно, а если у кого инфа по котлу типа Proterm Scat или Vailant. Может кто-то уже и эти котлы освоил, потому как разьемы на плате есть.
релейное управление включил /выключил ,сам термостат думаю не проблема изготовить.
СпойлерПоказать
термо.png
Документация :комплекты с GSM-термостатом и 1ZONTH-1V–интеллектуальный GSM-термостат

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

Блоки OpenTherm для связи с котлами

#23

Сообщение dizzyy » 17.02.2020{, 20:17}

olddolin писал(а):
17.02.2020{, 16:04}
Интересно, а если у кого инфа по котлу типа Proterm Scat или Vailant. Может кто-то уже и эти котлы освоил, потому как разьемы на плате есть.
там протокол e-Bus ,

Аватара пользователя
СЛОН0077
Рядовой
Сообщения: 16
Зарегистрирован: 07.02.2016{, 22:30}
Репутация: 0
Откуда: ГОМЕЛЬ

Блоки OpenTherm для связи с котлами

#24

Сообщение СЛОН0077 » 17.02.2020{, 20:54}

СпойлерПоказать
Плата вынута из котла,так что температура -108 правильная.Включая отопление или ГВС
На плате соответственно появляются /пропадают значки отопления /ГВС.
Вложения
SharedScreenshot 4.jpg
SharedScreenshot 4.jpg (29.93 КБ) 2634 просмотра
SharedScreenshot 3.jpg
SharedScreenshot 2.jpg
SharedScreenshot 1.jpg
SharedScreenshot 1.jpg (11.79 КБ) 2634 просмотра

Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08.09.2017{, 19:47}
Репутация: 14
Откуда: Тверь
Имя: Вадим

Блоки OpenTherm для связи с котлами

#25

Сообщение olddolin » 17.02.2020{, 23:05}

ViktorPetrov,Мне нужно полное управление котлом, настройки все. По ссылкам газовые котлы, на электрических нет колорматика. Я уже придумал на худой конец снимать сигналы с сегментов индикаторов и таким образом читать дистанционно, а кнопки нажимать это уже дело легкое, есть такое в моей практике. Да и котел интересует именно протерм скат13.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.

Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

Блоки OpenTherm для связи с котлами

#26

Сообщение Fuji1604 » 18.02.2020{, 06:40}

СЛОН0077 писал(а):
17.02.2020{, 20:54}
Плата
Блок отмастер я так понимаю работает? Данные то с него идут. Не идут данные с блока мастерОТ ? Верно?
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

Аватара пользователя
СЛОН0077
Рядовой
Сообщения: 16
Зарегистрирован: 07.02.2016{, 22:30}
Репутация: 0
Откуда: ГОМЕЛЬ

Блоки OpenTherm для связи с котлами

#27

Сообщение СЛОН0077 » 18.02.2020{, 14:01}

Да, Сергей,все верно.

Аватара пользователя
BormanYA
Рядовой
Сообщения: 95
Зарегистрирован: 10.01.2018{, 18:07}
Репутация: 12
Откуда: Дмитров
Имя: Михаил

Блоки OpenTherm для связи с котлами

#28

Сообщение BormanYA » 18.02.2020{, 20:34}

olddolin писал(а):
17.02.2020{, 16:04}
Интересно, а если у кого инфа по котлу типа Proterm Scat или Vailant. Может кто-то уже и эти котлы освоил, потому как разьемы на плате есть.
Инфа будет такая, на запрошенном
olddolin писал(а):
17.02.2020{, 23:05}
Да и котел интересует именно протерм скат13.
нет разъёма E-bus. А на 14-ом есть. Самый верхний слева, 2 провода.13-Й,14-Й.

Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

Блоки OpenTherm для связи с котлами

#29

Сообщение Fuji1604 » 18.02.2020{, 21:33}

СЛОН0077 писал(а):
18.02.2020{, 14:01}
Да, Сергей,все верно.
Попробуйте в редакторе блока найти строку
if (millis() - timing > 900){ //задержка между запросами
и "поиграть" задержкой, сделайте ее больше или меньше.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

Аватара пользователя
СЛОН0077
Рядовой
Сообщения: 16
Зарегистрирован: 07.02.2016{, 22:30}
Репутация: 0
Откуда: ГОМЕЛЬ

Блоки OpenTherm для связи с котлами

#30

Сообщение СЛОН0077 » 19.02.2020{, 14:44}

в блоке Master OT выставил задержку 150 мс, данные пошли в компорт и на LCD.

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Блоки OpenTherm для связи с котлами

#31

Сообщение Serg_Grn » 24.02.2020{, 14:15}

Fuji1604, посмотрите пожалуйста мой проект, там всего два блока - Ваш OTmaster и блок Blynk (на основе библиотеки Blynk). Проблема в том, что как только я добавляю в проект Ваш блок, плата (Wemos D1 R1) перестаёт соединяться с сервером Blynk... У меня булиновская переменная о статусе соединения с сервером подключена на светодиод на плате - он моргает короткими вспышками с частотой примерно 1 Гц и соединения нет... Как будто соединяется и тут же разрывает соединение...
Как только убираю из проекта блок OTmaster, сразу успешно подключается к серверу.
Спасибо!

И еще вопрос: в настройках блока OTmaster нужно указать номера пинов, но у меня в Wemos D1 R1 каждый пин имеет несколько обозначений (например D11/D7 GPIO13). Какое именно из этих обозначений брать? :smile37: Я попробовал брать номер GPIO - не работает.
Вложения
top.s.s.flp
(198.93 КБ) 96 скачиваний

Аватара пользователя
СЛОН0077
Рядовой
Сообщения: 16
Зарегистрирован: 07.02.2016{, 22:30}
Репутация: 0
Откуда: ГОМЕЛЬ

Блоки OpenTherm для связи с котлами

#32

Сообщение СЛОН0077 » 27.02.2020{, 12:15}

#31 Serg_Grn , Пытался я похожую связку запустить на ESP32,ide писала что-то про AVR ,я так понял, что нельзя OP запустить на esp.
Cделал раздельно remote xy на esp,а блок master ot на mega 2560.На uno не работал проект,отправлял котлу искажённый пакет данных.
Ot master может и на uno будет работать,но как я писал выше,у меня не выводятся данные на этом блоке в формате float,выводятся только значения boolean.

Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

Блоки OpenTherm для связи с котлами

#33

Сообщение Fuji1604 » 27.02.2020{, 13:28}

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

Отправлено спустя 5 минут 7 секунд:
У автора библиотек есть ОТмастер есть скетчи под есп, в них можно посмотреть какие пины там используются.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Блоки OpenTherm для связи с котлами

#34

Сообщение Serg_Grn » 28.02.2020{, 17:09}

Я бросил все попытки с Wemos D1 R1. Взял Nano и на ней всё сразу заработало.

СЛОН0077, по поводу отсутствия данных в формате float от блока OTmaster, у меня та же проблема была - только boolean приходило. Причину мне подсказали: в блоке небольшая ошибочка - там переменные float temperature и float level объявлены два раза - один раз в разделе "выходы блока", а потом еще в Loop Section. Если из Loop Section убрать слово float, то всё работает, по крайней мере у меня данные float пошли.
СпойлерПоказать
Float.jpg
Fuji1604, может быть Вы поправите это в блоке, судя по всему в этом причина отсутствия данных float.. :smile37:

Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

Блоки OpenTherm для связи с котлами

#35

Сообщение Fuji1604 » 28.02.2020{, 22:10}

Спасибо за подсказку, исправлю, отпишусь.

Отправлено спустя 56 секунд:
Странно что компилятор не ругался :smile37:
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Блоки OpenTherm для связи с котлами

#36

Сообщение Serg_Grn » 15.04.2020{, 20:40}

Fuji1604, добрый день.
Я немного доработал Ваш блок OpenThermMaster.
- добавлен параметр pause (мс) - пауза между запросами к котлу (иногда бывает важно изменить её значение);
- добавлен выход p_ (boolean) - на этом выходе устанавливается true во время паузы, т.е. когда не идёт запрос на котёл, соответственно во время запроса на котёл - false;
- добавлены выходы: _none, _invalid, _timeout. На этих выходах устанавливается true в случае неудачного опроса котла. Если цикл запрос-ответ прошёл нормально, на всех выходах - false. Соответственно, по этим сигналам можно определять и выводить сигнал о наличии связи с котлом.
Блок проверен, работает правильно.
Думаю было бы полезно добавить его к другим блокам в первом посте.
OpenthermMaster_v2_(CODE).ubi
(135.33 КБ) 137 скачиваний

alexcccp
Рядовой
Сообщения: 37
Зарегистрирован: 16.01.2018{, 18:53}
Репутация: 0

Блоки OpenTherm для связи с котлами

#37

Сообщение alexcccp » 10.12.2020{, 23:58}

Добрый день!

Скажите пожалуйста, а с котлами типа Вuderus logamax u072-24k работать будет.
В инструкции есть упоминание - Программируемый термостат OpenThermTM

https://xn--90agd8bfid.xn--p1ai/media/f ... 320942.pdf

Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

Блоки OpenTherm для связи с котлами

#38

Сообщение Fuji1604 » 11.12.2020{, 03:04}

Должно работать. Протокол стандартизирован. Собирайте плату и тестируйте.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

alexcccp
Рядовой
Сообщения: 37
Зарегистрирован: 16.01.2018{, 18:53}
Репутация: 0

Блоки OpenTherm для связи с котлами

#39

Сообщение alexcccp » 11.12.2020{, 19:41}

Хорошо. У меня есть платы от Будеруса U72 и Боша Газ 6000. обязательно займусь данным вопросом и отчитаюсь о связи.
Мне такой девайс крайне необходим, не ожидал что найду к нему готовый блок, хотел что то лепить на кнопки управления котлом, а тут такой подарок.

Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19.01.2016{, 06:09}
Репутация: 40
Откуда: Березники
Имя: Сергей

Блоки OpenTherm для связи с котлами

#40

Сообщение Fuji1604 » 12.12.2020{, 18:22}

В интернете хоть и пишут что полярность подключения платы неважна, у меня только в одной полярности работает. Возможно это связано с тем что плату собирал дендрофекальным способом (из г...на и палок). В интернете описано как проверить плату. Пробуйте и вас все получится!
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню

Ответить

Вернуться в «Коммуникация и связь»