Как стать автором
Обновить

Комментарии 36

Эту байку про природный газ вот-вот в следующем году =) почти все покупающие землю-дома слышат… покупал в 2006 — было всё, в 2007 газ разводят… на дворе 2020 заканчивается — вроде в следующем году НАЧНЁМ проектирование =))
могло быть проще поставить комп с 4 такими карточками и считать биткоинты, заодно и отапливатся.

amazon.ca: Tesla K80 24GB 297.92 CAD tinyurl.com/y5r36ggf
В этот момент мне попался с хорошей скидкой электрокотел Zota Balance на 3кВт за что-то около 2500 руб

Газовый котел Baxi 5-6 лет назад стоил что-то в районе 30 тыс. рублей. Не очень понятна сильная экономия на покупке электрокотла. Не знаю как именно в этой моделе, но, в целом, в электрокотлах циркуляционный насос — это не редкость. Можно было просто купить соответствующую модель.


Ввод электричества 1 фаза, 10 кВт. Т.е. ставить мощный электрокотел кажется потенциально проблемным.

Расчет делается довольно просто — 1 кВт на 10 кв.м. То есть на ваши 50 кв.м. нужна 6 кВт модель. И это не превышает выделенной мощности.


Если бы я сейчас покупал газовый котел, то модели без OpenTherm даже бы не рассматривал

Обычно в газовых котлах есть возможность подключения внешнего датчика температуры. По сути — это два провода и реле. По какому принципу будет размыкаться/замыкаться реле — решать вам. То есть вместо датчика температуры можно подключить, например, Adruino/Raspberry и напрограммировать какой угодно алгоритм срабатывания. Но, конечно, электрокотел должен быть автономным, то есть уметь сам гонять теплоноситель (иметь насос).


Можно разобрать котел и запитать насос отдельно. Решение выглядит стремным, а модифицировать котел кажется опасным

На самом деле, дополнительное питание к насосу подключить должно быть довольно просто. Там обычно стоит коробочка, куда сделать дополнительный ввод можно аккуратно и легко. Чаще всего в котлах в качестве циркуляционного насоса стоит Grundfos или Wilo. То есть это не какая-то специфичная деталь именно котлу Baxi.

Не очень понятна сильная экономия на покупке электрокотла.
Если бы я сейчас делал отопление, газовый котел на баллонах точно бы не рассматривал как вариант (
Было желание добавить электричество с минимальными костами + сделать погодозависимую логику. Дом зимой раньше никогда не отапливался, а на сентябрь и май газа достаточно. Но, ковид внес свои коррективы в полезность дачи в осенне-зимний сезон ;)

Возможно, если сама полезность дачи зимой будет подтверждена — целевое состояние подключить 3 фазы 16 кВт и полноценный электрокотел на что-то типа 7.5 кВт.

На самом деле, дополнительное питание к насосу подключить должно быть довольно просто.
Насос Grundfos, подключен к плате котла. Т.е. по уму нужно вместо котла подключить реле, включающее насос, если логика котла захочет «погонять теплоноситель» (Например, он периодически при выключенном отоплении ненадолго включает насос или сам включается при падении температуры теплоносителя ниже 5 градусов). И городить такую логику не хочется…

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

так щелкай этой перемычкой раз в час

а погодное регулирование вы пробовали реализовывать на такой связке?
если ночуете, к примеру, чтобы ночью котел сам прибавлял температуру для компенсации ночных заморозков.
может встречали сочетание решения по принципу «собери без паяльника и ловли багов в ПО»?
Сделал простую компенсацию целевой температуры теплоносителя по уличной температуре. Пока работает норм.
avp-avp приятно что интеграция тебе пригодилась! В моем коде есть баг, который может привести к неприятным последствиям. При таймауте OpenTherm, который может произойти по перезапуску котла, я не сбрасываю внутреннее состояние. Поэтому после старта котла, установленное значение температуры (и любых других значений) отправлено не будет.
Ссылки на код
github.com/arendst/Tasmota/blob/development/tasmota/xsns_69_opentherm_protocol.ino#L216

Как исправить:
в массиве sns_opentherm_commands все m_results должны быть обнулены при обнаружении таймаута.
Таймаут обрабатывается здесь: github.com/arendst/Tasmota/blob/development/tasmota/xsns_69_opentherm.ino#L194

На сколько стабильно работает обмен? У меня он с завидной регулярностью дает таймаут.
Юрий, спасибо!

Отличная интеграция!

Баг я видел. Для меня он выглядит так, что при перезапуске котла параметры могут быть неактуальны какое-то время. Кажется, что не критичная история.

Таймауты и реконнекты периодически вижу. Вроде проблемы с этим нет. Котел уходит «в несознанку» (ошибку потери связи) примерно через минуту после отключения контроллера(и возвращается при реконекте). Т.е. кратковременные потери связи ни на что не влияют. В скриптах есть повторы, если котел не отреагировал на команду (точнее, если он вернул старое значение).

Логика очень простая: Tasmota раз в 30 сек репортит статистику, в том числе режимы котла и целевую температуру. Если значения не те, что должны быть с точки зрения скрипта — будет повторная установка целевого значения.

Т.е. для меня достаточно, что адаптер большую часть времени отлично работает, а периодические сбои или не 100%-е выполнение команд вообще не влияют общую на стабильность системы.
Я немного про другой сценарий говорю. Когда я писал прошивку, я планировал поиграться с PID и отдельно ML (учитывать ветер, температуру, влажность и тп) для установки температуры. Предполагалось, что алгоритм расчета температуры будет давать некие плавающие значения. Мне не хотелось передавать команду установки температуры на каждое изменение. Было опасение, что котел может писать данные в flash память. Поэтому я сохранял предыдущее установленное значение в памяти, и сравнивал его с новым. Если значение изменилось незначительно, то команда записи в котел не производилась.
Теперь об ошибке: Котел уходит в перезагрузку. После, соединение восстанавливается. Но так котел находится в режиме slave, он ожидает команду на установку температуры. Команда не приходит потому что раннее установленное значение равно текущему. Котел не входит в режим обогрева. Допускаю что разные котлы могут реагировать по-разному.
Ну… я, в любом случае, не планирую делать сброс котла автоматом. А при ручном сбросе можно перегружать Tasmota (можно вообще говоря именно по команде сброса очищать текущие значения)

Отключение питания котла вроде не страшно, т.к. питание Tasmota у меня приходит от котла (было удобно запитать от питания термостата). Как минимум, несколько отключений электричества котел вместе с Tasmota пережил вообще без проблем.
У меня котелт тоже от ИБП запитан. Но он все равно самопроизвольно перегружается один или два раза в неделю. В код ошибки ставит аварию по питанию. На форуме по Бакси люди жалуются на аналогичную проблему, но до конца не ясна причина такого поведения. Так что у Вас может не быть такой проблемы, но все же имейте ввиду. Я у себя поставил «костыль» в виде смены температуры раз в час. Как дойдут руки, сделаю PR в репозиторий.
А… Control setpoint write only (
Т.е. у котла нельзя спросить установленную температуру??

Косвенно её можно узнать по температуре отключения горелки… У меня она строго равна Control setpoint + 5 градусов…
Пропустил Ваш вопрос. Спросить-то можно. Только проблема не в этом. Температуру обычно Вы задаете. И нужное значение температуры есть в Тазмоте. Проблема в том, что после перезагрузки моего Бакси интеграция шлет команду OpenThermMessageID::Status и не знает что нужно следом послать OpenThermMessageID::TSet. Так как по таймауту не сбрасывается прошлое переданное значение температуры и интеграция не отправляет ее повторно.
Мой котел при этом входит в ступор. Потому как в режим Slave его перевели, а температуру не установили. И запрос Heat Request замыканием контактов внешнего термостата не приводит к включению горелки.

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

Спасибо!

Хочу переползти на ESP32, кажется что ESP8266 иногда теряет связь из-за проблем производительности

Возможно, котел уходит в ошибку «газа нет» по причине замерзания газа в баллоне? При большом расходе пропан перестает испаряться в баллоне, баллон покрывается льдом даже в помещении. Лечится снижением расхода газа (греем дольше) или подогревом баллонов электрогрелкой…
Да непонятно. В прошлый приезд на дачу было -15. Газом прогревал заранее с +5 до +20. Газовый котел поддерживал теплоноситель +75 градусов много часов (горелка не выключалась, котел даже в тактование не уходил, было достаточно модуляции горелки) и ни одной ошибки… А бывает при уличной температуре около нуля выкидывает отсутствие газа…

У меня в новом доме с конденсационным Baxi такая-же проблема. Котел уходил по ошибке газа и останавливался. Газ магистральный. Причину так и не нашел. Есть идея добавить в интеграцию поддержку Boiler Lock-out Reset и автоматически сбрасывать котел хотя бы раз в час при уходе в ошибку.

А как pull requestы делать в Tasmota? Я могу свои изменения предложить?

как говорила моя бабушка: "баллоны греть запрещено, лучше купите зимнюю смесь"

Спасибо за статью! Вчера как раз спаял адаптер и залил тасмоту в есп32. Подключил к котлу но пока тишина. ПОдскажите интерфейс OpenTherm у Baxi активен всегда или только в режиме внешнего термостата? Не меняя ничего в настройках котла получу ли ответы по Opentherm хотя бы для снятия статистики? Если не обшибаюсь в настройке 04 нужно поставить значение для внешнего термостата?

Насколько я понимаю, ничего не нужно.

НО! У меня почему-то долго не запускался OpenTherm. Я сначала просто заливал в ESP скетчи из примеров либы. Я точно пробовал включать/выключать настройку 04, но мне кажется она примерно не влияет.

Я рекомендую:

  1. Взять ESP6266. Я все собираюсь поменять свою на ESP32, но ни разу не пробовал. Раньше Tasmota вообще не собиралась под ESP32.

  2. Попробовать просто минимальный пример от OT библиотеки. https://github.com/ihormelnyk/opentherm_library/tree/master/examples/OpenThermMaster_Demo

  3. Внимательно проверить все подключения и номера пинов (Кстати, может быть путаница с пинами ESP32/ESP8266). Если есть осциолограф, то посмотреть отвечает ли что-то котел.

Спасибо за ответ. Под esp32 сам собирал прошивку. Нужно будет два файла перенести библиотеки Opentherm в папку с исходниками и тогда все собирается. Поскольку адаптер сам паял еще раз хорошенько перепроверю все. Мне важно было что в настройке 04 ничего не надо менять что бы Openterm начал отвечать. Этой мой первый опыт с газовыми котлами вообще и делать стараюсь все максимум осторожно. В настройках модуля OpenTerm RX и TX Подключаем к адапетру же крестом RX-TX TX-RX?

1. Под esp32 текущая версия собирается без проблем (у меня)
2. OpenTherm Adapter output pin should be connected to Arduino input pin and adapter input pin to Arduino output pin

Играюсь с OpenTherm от Игоря Мельника. При запросе температур, давления, модуляции горелки изредка получаю в ответ магическое число 3.039, в шестнадцатеричном виде 0x40428000 Котёл Navien NCB 700 . Аналогичное поведение и на ESP32 и на ESP8266

Гугленье ничего не дает, где еще спросить - неясно.

я столкнулся с тем, что на ESP32 регулярно (5-10 раз в сутки) приходят ооочень странные значения. Это может быть что угодно: код одной из ошибок, температура воды и тп.

Я пока не разобрался в причинах. На ESP8266 не повторяется.

Моя текущая гипотеза: какая-то проблема параллельного выполнения кода. Там в библиотеке используется ICACHE_RAM_ATTR для функций, которые могут быть вызваны внутри прерывания. Не уверен, что все вокруг сделано аккуратно.

Если найдешь ошибку - напиши обязательно!

пока не нашел, но где-то близко. Магическое число 0x40428000 получается посредством преобразования в float ответа от котла 0xc000030a которое расшифровываетеся как ответ на запрос состояния, а запрос состояния делается перед запросом температур. А в коде от Мельника нет проверки такой ситуации, т.е. в терминах опентерма не проверяется DataId в ответе.

Так может начать с добавления проверки id запроса?

НО! Мне кажется, что после "косяка" ESP32 не редко уходит в перезагрузку, как будто там что-то прямо "в клочья" разносит....

На ESP8266 может происходить подобная ситуация тупо очень редко и я этого ни разу не замечал. Хотя не раз видел, что либо теряется связь с котлом (повторный handshake), либо перезагрузку. Т.к. это ни на что не влияет - я не заморачивался

"чем дальше в лес, тем толще партизаны". Вот сейчас обнаружил, что функция setBoilerStatus() выдает запрос READ_DATA, т.е. читает статус, а не устанавливает...

т.е. там много чего через известное место сделано.... надо будет поразбираться

Извиняюсь за оффтоп. Как вцелом котел? Планирую такой же приобрести.

Сложный вопрос...

Я очень доволен, но у меня еще итальянская сборка и ему много много лет(уже что-то около 10) и работает как часы.
За это время я два раза менял катушку клапана (~2-3 тыс руб), всё остальное родное.

На сжиженном газе он немного подглюкивал (иногда вылезала ошибка "нет газа"). Я даже заморочился с удаленным сбросом этой ошибки. На магистральном газе ошибка не вылезала ни разу

Т.е. я точно смело бы порекомендовал итальянский baxi eco four, причем сборки тех времен. А что сейчас я не знаю.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации