Контроллер теплых полов

Демо-версия

Можно посмотреть почти в живую: tc-demo.vehs.ru (оптимизировано для мобильных устройств, для браузера Google Chrome)
В демо-версии длительность сессии ограничена (из-за ограничения количества подключений - максимум 3 одновременных клиента, остальные не получают ответ, или получают ошибку 502).

Цена вопроса

Готовый контроллер стоит 7500р, беспроводные датчики примерно 500р (aliexpress), термоголовки - от 300р (aliexpress).

Исходная задача

У меня дом почти 100м2, два этажа. Первый - коридор и кухня/гостинная, второй - детская, СУ, спальня.
Отопление газовый котел и теплые полы. Радиаторов нет.
Котел умеет по замыканию контактов включаться, при размыкании - выключаться. Умеет подключаться к датчику наружной температуры. Умных интерфейсов не имеет. Так же греет воду в бойлере (отлично работает, вмешательства не требует).
Для тех кто в теме - УШП и деревянные перекрытия. Для остальных - характеристики системы отопления и тепловая инерционность в разных комнатах совершенно разные. Планируется третий этаж и баня, что там будет с отоплением - не понятно еще.
Задача сейчас - только отопление, охлаждением потом займусь.
Мои предпочтения - бодрствовать при 22гр, спать при 15…18. Предпочтения жены - открывать окна когда хочется.

Отсюда задача: обеспечить требуемую температуру в каждом помещении - в спальне 16…18, в остальных 22. В детской, пока старший в школе - не меньше 10. Младший (сейчас ему 2 недели) - с мамой, в основном внизу. В будущей бане - не меньше 10.

Что было

Китайский программируемый недельный беспроводной термостат. Семь дней, четыре периода в день, точность поддержания +-0.5гр. В периоды бодрствования 22, в остальные 18.
Датчик/мозг в кухне/гостинной на первом этаже. Приемник - скрыт возле розетки. Соединен двумя проводами с котлом.

Путем настройки потока в петлях удалось добиться в детской примерно 20гр, в спальне 18, СУ 24, первый этаж 22. (Балансировка петель та еще забава).
Это если не открывать окон, днем.
На первом этаже комфорт обеспечивается. На втором - хуже. В СУ бывает жарковато, в детской прохладно. В спальне холодно (но это нормально, там только спим). 

Что хочу

Хочу регулировку температуры в каждой комнате индивидуально.
Что должно быть в системе:
  • Беспроводные датчики на батарейках.
  • Независимое управление по расписанию минимум шестью контурами отопления (не ТП, которых больше, но они параллельны) .
  • Управление котлом (вкл/выкл).
  • Отсутствие экрана. Экран стоит денег и может разбиться.
  • Система должна быть полностью автономна.
Сервисные возможности - не обязательно:
  • Мониторинг температуры в контурах ТП. Удобно при настройке системы - при всех открытых контурах температура должна быть примерно одинакова.
  • Мониторинг давления в системе отопления (давление постепенно падает, из-за воздухоотводчиков), не плохо если система пришлет мне оповещение, что надо бы долить.
  • SMS при критических ситуациях - пропало питание, сверхнизкая температура, ...
Текст выше - для оценки того что есть у вас и у меня, и для понимания того что я хочу, и что можете получить вы.
Чем не устроили существующие решения: Тут только про то, что я нашел в интернете.
  • Нельзя хоть как-то пощупать удаленно.
  • Не внятное описание возможностей.
  • Состоят из множества блоков (мозг + блок реле + беспроводной модуль + модуль интернета + ...).
  • У беспроводных решений неадекватная цена.
  • Доступ через интернет - за отдельную плату через специальный сервер.

Что я сделал

  • Логический контроллер, управляемый из командной строки (по UART)
  • 7 помещений (Имя, схема, номер датчика температуры, смещение температуры)
  • Одно основное реле (управление котлом)
  • 8 схем (Имя, 7 дней, 4 периода в день, целевая температура)
  • Работа с китайскими метеодатчиками
  • Часы реального времени
  • Китайский корпус для электроники

Сначала сделал на MEGA. До степени "все готово, можно подключать, но программирование - из командной строки"
Думал скрестить его через UART с ESP. Но при одновременной работе нескольких web клиентов возникал бы лишний трафик.

Перевел на ESP полностью. Портов мало, использую I2C <> 1Wire шлюз (для сервисных датчиков) и сдвиговый регистр (для управления реле).
Собрал HTTP сервер, с настройками WiFi, с редактором файлов, ...
Реализовал командную строку контроллера через Web-сокет. Это позволяет не меняя ничего в сервере получить любой удобный интерфейс. Все настройки могут задаваться с web страницы, похожей на консоль COM порта. Эта страница есть в дальних закладках интерфейса.