На Хабре я скорей читатель, чем писатель, но вот когда в ленте попалась связка DIY + Lemana + Конкурс, я понял, что не смогу пройти мимо. Я уже давно практикую смену деятельности в свободное время, а наличие своего участка не оставляет больших сомнений в том, чем стоит заниматься «отойдя от компьютера» - стройкой.Я расскажу, как я спроектировал, построил и, что особенно важно, «Достроил» гостевой дом, дачный дом, флигель – все варианты равноправны. Специально заостряю внимание, что я не профильный строитель и не привлекал никого со стороны, кроме разнорабочих для особо тяжелых работ. Все работы вел или по выходным, или по вечерам, когда был соответствующий настрой. Мне было интересно сделать это самому: от фундамента и кровли до установки розеток и настройки Ноme Assistant + Алиса Читать далее
На Хабре я скорей читатель, чем писатель, но вот когда в ленте попалась связка DIY + Lemana + Конкурс, я понял, что не смогу пройти мимо. Я уже давно практикую смену деятельности в свободное время, а наличие своего участка не оставляет больших сомнений в том, чем стоит заниматься «отойдя от компьютера» - стройкой.
Я расскажу, как я спроектировал, построил и, что особенно важно, «Достроил» гостевой дом, дачный дом, флигель – все варианты равноправны. Специально заостряю внимание, что я не профильный строитель и не привлекал никого со стороны, кроме разнорабочих для особо тяжелых работ. Все работы вел или по выходным, или по вечерам, когда был соответствующий настрой. Мне было интересно сделать это самому: от фундамента, до установки розеток.
Из-за того, что выполненные работы своими руками всегда кажутся ценнее (феномен Икеи), то мне кажется, что я немного переборщил с размером фотоотчёта стройки. Но мне ни разу не стыдно: это фотоотчёт трех-летнего хобби-проекта.
Прежде чем вы окунетесь в кучу строительных деталей, скажу, какие цели я настиг:
Отдельное капитальное строение
Все коммуникации
«Умный» - но ровно настолько, насколько нужно, без надуманных сценариев
Место для отдыха с семьёй, близкими и друзьями
Изначально мысль начиналась с того, что на месте доисторических построек (доставшихся с покупкой участка) я хотел построить беседку. Буквально 3х4 метра, возможно закрытую, возможно и нет…

Место будущего строительства (и точка начала благоустройства)
Дом, который уже был на участке в процессе реконструкции (+ этаж вверх, + этаж вниз) я чуть ранее оцифровал: снял все размеры и перенес в Google SketchUp: это ранее сильно помогло уточнить некоторые площади, конструктивы и т.п.
Исходный проект жилого дома
Цифровой двойник капитальных стен и кровли

Полный кровельный пирог - от стропил, до обрешётки, контр-обрешётки и металла.
Нужно отдать должное возможностям SketchUp - буквально несколькими интуитивно-понятными инструментами (втянуть/вытянуть/удалить) он даёт возможность нарисовать всё что угодно.
Первая цель, которую я преследовал, начав его использовать - отрисовать в объеме геометрию кровельного пирога, чтобы при сборке не сесть в лужу. Удалось.

На этом фото ещё видны постройки, которые ещё на старом месте - летняя саманная кухня и гараж, построенный без фундамента.
Потому было разумно дорисовать беседку рядом, проверить удобство, габариты. Незадача: участок имеет уклон, а это нельзя не учитывать при проектировании. Вместо теодолита/нивелира приходят на помощь лазерный строительный уровень, рулетка и колышки: за два вечера, в сумерках, когда лазер лучше видно, снимается карта высот двора участка и переносится в тот же SketchUp.
По мере отрисовки вариантов беседки, добавления перил, опор, приходит понимание, что полезная площадь не равна площади пятна застройки и нужно «расширяться». Затем мысль «а почему не добавить зону барбекю», плавно прибавляет к себе «а рядом нужна полноценная мойка, кухня и шкафы». А оставлять под открытым небом кухонный гарнитур уже тоже не хочется.
Ну вы поняли: планы построить садовую беседку переросли в «построить закрытую летнюю веранду» на капитальном фундаменте с панорамным остеклением. А в процессе переноса фантазий в проект было решено заводить все коммуникации от основного дома: воду, газ, электричество, а также обустроить слив в отдельный ливневый колодец.

Финальный вариант проекта, который дошёл до реализации
Планировка
Планировка
Основной объем - гостиная комната, и две дополнительных: кладовая + санузел.
Таким образом, вырос не только проект и его смета, но и сроки строительства.
В этот год на участке были снесены старый гараж и летняя саманная кухня, построенные в 50-70х годах прошлого века. Они были в аварийном состоянии и не отвечали моим планам. Они просто ждали, когда их разберут. После сноса строений и вывоза мусора как раз произошел момент цифровой съемки участка и начала примерочного проектирования. Был конец лета, и я в этом сезоне я мог только успеть подготовить фундамент.
Подготовка места
Вот эти постройки мешали



И были успешно снесены
При помощи землекопа был подготовлен котлован, а после того, как я выставил опалубку, подсобниками был отлит ленточный фундамент 8,5 * 4 м.
Скрытый текст
Ширина около 300мм, глубина 1000-1500 (в зависимости от стороны). В качестве гидроизоляции - рубероид.
Если опалубочные щиты обматывать стрейч-пленкой - то доски остаются чистыми и легко переиспользуемыми.

Бригада студентов позволяет сделать то, на что не поднимаются руки

Я сделал его не в один уровень, а террасно (уступами), потому что:
установленная опалубка по нижней стороне не выдержала бы столь высокого уровня заливки
было проще вывести уровень черновой кладкой, заодно устранив огрехи заливки по «непрофессиональной опалубке», соблюсти геометрию
Следующим шагом я доложил периметр в один уровень, а также поднял половину погреба до будущего нулевого уровня. От одного из сараев остался скромный, но капитальный погреб, выложенный кирпичом, у меня рука не поднималась его засыпать, и я решил его переиспользовать в будущем.
Обратная засыпка
Укладка сливных труб

Вентиляция существующего погреба и обратная засыпка
Тут же были рассчитаны места вывода сливных трубопроводов, от них протянуты с необходимым уклоном трубы к существующей выгребной яме/сливному колодцу/септику.
Ну и «дембельский аккорд» перед зимой – заливка армированной плиты поверх всего фундамента, досыпанного изнутри строительным боем и песком до необходимой высоты.
Заливка плиты
Окончательная укладка скрытых коммуникаций и обратная засыпка/проливка песка

Армирование будущей плиты

Без знакомых студентов/рабочих не стоит такое даже планировать
Так как жилой дом на участке – кирпичный 1967 года постройки, то в качестве материала для летнего дома был нужен кирпич, красный полнотелый кирпич. Ну чтоб гармонировать рядом. А чтобы отвечать «современным» тенденциям это должен быть лофт-кирпич, ну типа штучной работы, весь такой уникальный, корявый и красивый. Ну а чтобы сэкономить и…отгрести проблем (не буду забегать) можно купить забутовочный полнотелый красиво-корявый кирпич при разительной разнице в цене относительно штучного (экономия в 2-3 раза, на минуточку).
Благодаря проекту с точными габаритами весьма точно считается кирпич (с ошибкой до 5%).
Так как кирпич фактурный, решено оставить его видимым изнутри, спрятав внутри кладки всю проводку.
Зима не только дает возможность купить стройматериалы впрок, но и дает время проштудировать ForumHouse и профильные форумы, изучить приемы и типовые схемы кладки печей/барбеккю и т.п.
В отдельном проекте вырисовывается поштучно проект печи, которая должна стать центральной композицией в летнем доме как фигурально, так и буквально – к трубе будут подняты стропила будущей кровли и именно под нее залит самый мощный участок фундамента – почти полтора куба бетона.
Проект печи
Кирпич к у=кирпичу - только после 5-6 итераций можно собрать то, что будет похоже на итоговый результат

Печь должна встать точнехонько над спуском в погреб - из-за это приходится распрощаться с симметрией строения и начать ломать голову - а как спускаться вниз без риска застрять
Снаружи печь должна быть сложена из того же кирпича, что и сложен весь летний дом.
Так вот кирпич посчитан, на строительной базе в руке прощупан стендовый кирпич… и до весны на площадке базы смиренно дожидаются 10 тысяч кирпичей.
Сложно дождаться весны, готовности строителей и хорошей погоды: потому как строители резко меняют планы, погода не обращает внимание на прогнозы, а кирпич… купленный по одному образцу, но имеющий пометку «забутовочный, для черновой кладки», оказывается несколько неожиданным. Обе сговорчивых бригады резко становятся несговорчивыми при взгляде на неровные штабеля кирпича, привезенные на участок. А одиночный мастер, на второй день «раскладки» кирпича на подготовленном фундаменте собирает вещи и уходит со словами «сами ***(мучай)тесь с этим кирпичом, или сразу его выкидывайте *****(далеко)».

Вот в таком виде мне оставляют поле боя каменщики: в руки так и просятся мастерок и ведро раствора
Кирпич был красивый, крепкий, но абсолютно разный: по размерам, форме, углам и геометрии, он мог иметь форму трапеции, паралеллограмма, квадрата. И его у меня было 10 тысяч, аккуратно сложенные возле фундамента. И не было мастера-каменщика.
Немного про кирпич
Герой рассказа - Кирпич полнотелый Старощербиновский М125, забутовочный пластичного формования (500 шт/поддон)

Это торцы 5 кирпичей одной партии с одного поддона: все разные
30 марта я начал каждый вечер выкладывать как умел: предварительно натянув леску, кинув отвес, подготовив раствор. Я учился сам у себя, изобретал новые приемы, которые позже видел в youtube роликах, которых мне подсовывали рекомендации все больше и больше. Я клал кирпич «под глубокий шов», углубив кладочную смесь на толщину квадратного прика 14*14. Только швом 12..20 мм можно было скомпенсировать геометрию кирпича. И только нарочито грубой кладкой можно было подчеркнуть художественный замысел, который был заложен в проекте.

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

Я смог позволить себе любые идеи в оформлении проемов, карнизов, которые хотел. Я повторил часть рисунков кладки жилого дома, еще более их архитектурно связав. Спустя 3 месяца я сложил основные внешние стены и перегородки под самую кровлю. Под будущую печь были оставлены выпуски арматуры (просечки) под перевязку, и я собирался с духом для ее постройки (искать ещё более привередливых печников на собственный проект и кривой кирпич я уже не пытался).
Кирпич, много кирпича

Надоконные перемычки из спаренного уголка 100*100, а также сваренная в контур арматура - импровизированное армирование верхних рядов.

Надоконная кладка


Любимые ракурсы
На этапе возведения стен я уже имел понимание, что в летнем доме будет много света, розеток и выключателей и все это будет «умным», потому в стены было замуровано достаточное количество проводов, чтобы привести в отдельное место все выключатели и точки освещения раздельно. Это очень удобный подход: перерасходом провода можно обеспечить себе любую архитектуру умного дома. Сейчас я бы посоветовал себе еще добавить проводов в тех местах, где додумал позднее.

Вот тут видны кабеля, выходящие из колонн
Лето, отпуск появляются силы на рывок, чтобы за месяц построить печь по достаточно типовой схеме (под казан + барбекю/мангал) но с нововведениями, которых нигде не встречал:
раздельные приточные воздуховоды с улицы для обеих очагов
свободное место под мангалом, которое было необходимо для доступа к оставшемуся подвалу в центре летнего дома

23Печь без оголовка трубы
Кладка печи
Скрытые каналы приточки

Топочная мангала/барбекю

Перекрытие радиусных проёмов

Внутри целый пирог-термос, также на этом фото виден выход скрытого дымохода от казанной печи

Без такого станка было бы гораздо сложнее
У меня есть опыт в кровлестроении (в студенчестве много помогал отцу, репетировал на своем доме ранее) и потому дальше с крышей реализована уже стандартная схема:
проектирование кровли в SketchUp
подсчет и закупка необходимых материалов
собственно строительство кровли, начиная от гибки доборных элементов и деталей карниза до сборки фальцевых картин вместе с отцом
на каком-то этапе с деревянной обрешетки достраивается труба необходимой высоты
на каком-то этапе с деревянной обрешетки достраивается труба необходимой высоты
колпак занимает место на дымовой трубе уже после Нового года

Крыша заканчивается уже одновременно с наступлением утренних заморозков
Кровля
Без кропотливой помощи отца крыша была бы проще

Доборные элементы и карнизы - всё сами

Многослойный пирог под фальцевую кровлю

Кривой и неповторимый
Хорошо, что я не умею делать окна и пришлось заказать их на заводе: в свой «неповторимый» размер, в цвет и с нужной фурнитурой: в век современных технологий это отработанный алгоритм не вызывает проблем.
Немного про окна
ТЗ - ещё до вникания в конструктивы окностроения

Доступ воспрещён
Я не собирался устанавливать наружные отливы и потому окна заказывал без проставочной планки снизу. Спустя время, когда я понял, что с отливами будет лучше - встает закономерный вопрос их крепления: минималистично и аккуратно, только так.
Этот год был годом внутренней отделки и вспоминаем навыков:
«специалиста по стяжке пола»
сантехника
мастера по теплым полам
электрика
плиточника
Регулярные разноплановые задачи действительно помогали «переключиться» с работы за компьютером, поднять своё насиженное место и поработать руками, порой полностью, отдавшись тому удовольствию от ручной работы и получаемого осязаемого результата, которой не хватает в наш цифровой век.

Первые результаты работы электрика (меня) по наружному освещению
Электрика
Черновая сборка всех подключений к контакторам/автоматам

Щитовая расположилась в кладовой

По инструкции к котлу вместо штатной перемычки можно привести сухой контакт для запуска котла "по требованию" - он внешнего термостата или контроллера.
Вход в погреб в аккурат под печкой и разместить там полноценный откидной люк невозможно.
Тут приходит на помощь Компас 3D - как никак для полноценного твердотельного проектирования он подходит лучше.

Откидной, переломной люк, который будет застелен плиткой
Каркас сразу проектировался под электропривода с алиекспресс, так было понимание, что более 50 кг без риска для пальцев и рук самому не поднять

Коряво и неповторимо (слоган стройки начиная с кирпича)

Финальный результат с голосовым управлением

Задача "вписать невписуемое" выполнена
Так как на участке (в основном доме) газ - двухконтурный отдельный котел и теплые полы - наш выбор.

Без эскиза на листе в клетку не обойтись

Момент до заливки стяжки - последний для прокладки скрытых кабелей, которые были упущены ранее

Опрессовка магистральным водопроводом - 6 бар (при рабочем 1 бар)

Внутренний перфекционист еле принял работу у себя самого, но задача была выполнена - вписать водоузел в ширину будущего пенала 600мм.
Я бил собственные рекорды в количестве прослушанных аудиокниг, количестве шагов на трекере и микротравм. Мозоли, порезанные и прибитые пальцы, колени, поясница категорически были против таких выходных, которые я им устраивал.
Все этапы стройки всегда проходили через этап уточнения размеров, дорисовывания чего-либо в SketchUp: при поэтапном развитии объекта и планов, когда они идут один-в-один, без отставаний – очень удобно обращаться к проекту для визуализации, снятия размеров, компоновки уже мебели.
В таком ключе потолок снизу подшивается вагонкой из лиственницы, предварительно покрытой маслом. Санузел и кухонный фартук обзаводится плиткой.
Скрытый текст
Утепление потолка путем набивки пароизоляции под стропилами (над - уже уложена мембрана). А полости заполняются минеральной ватой, подаваемой под давлением из специальной установки

Штукатурка/маяки

Кухонный фартук из Белорусской плитки - шанс сделать стены ровнее

Компрессор + краскопульт эффективнее кистей и валика в 5.64 раза

Косой запил поперек направления взгляда позволяет обойтись без явных соединительных планок и создать эффект единого пространства

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

Именно на этом этапе я сформировал требования к оснащению умного дома и занялся его реализацией. См. отдельный раздел, если не терпится.
В этом году, после завершения коммуникаций, я перешел к внутреннему обустройству.
Проект мебели/кухни, заказ материалов, сборка… и у тебя все становится/собирается так, как задумано. И это прекрасно.
Собирать мебель целиком и только из ЛДСП – не мой вариант и было решено отдельные элементы сделать из дерева (сборные фасады, столешница, карнизы) – неповторимая структура и естественный рисунок легко маскируют огрехи отделки, а на живость материала можно списать неточности в габаритах.

Лиственница + Бук + сосна + ЛДСП
Про кухню
Всё начинается с общего проекта
После проектирования составляется спецификация на детали. Особо продвинутые мебельщики даже могут подготовить задание в специальном формате не только на раскрой но и на сверловку присадочных отверстий.
Я же достал ворох самодельных направляющих и шаблонов-кондукторов: за два выходных короба собраны и установлены в свои места

Короба из ЛДСП
Все остальное, и на самом виду - фасады, столешница было решено делать из древесины разных пород.

Клееный щит из лиственницы + масло в три слоя

Фасады из фрезерованных сосновых реек с вставленными декоративными сетками из бука

Сборка на клей и шканты

Шлифовка и покрытие маслом
А наличие 3D принтера позволяет изобретать и печать любые шаблоны, кондукторы, сборочные направляющие.
Ну а двери из сборного массива, которые можно покрыть тем же маслом, что и столешницу, что и и подоконники, что и потолок – единственно правильный вариант.
Просто двери
Только в Лемана-Про нашел двери без покрытия и без вездесущих резных филенок

Коробочный брус лучше надолго не оставлять на солнце: пытается скрутиться в пропеллер на глазах

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

Доборы/наличники из обычной струганной доски 100*20, покрытой все в то же масло.
С выбором мягкой мебели, «обстакановкой» кухни без жены я бы не справился и настоящий уют был создан именно её руками.

Я почти закончил стройку летнего дома, теперь он имеет наиболее подходящее название – Флигель, именно так, с большой буквы. Оставшиеся мелочи, именно мелочи, как-то: обжечь печную плиту и казан, домонтировать полки в комнате хранения, доустановить датчик температуры/влажности в сан/узле - скорее уже из разряда «между делом».
Но есть отдельный разряд задач, который регулярно пополняется уточнениями, идеями по мере обживания Флигеля: домашняя автоматизация.
По профессии я - инженер по автоматизации и знаю, как организовать работу на городских станциях водоснабжения/водоочистки и мегаватных котельных, очень люблю писать встраиваемое ПО для ПЛК и Scada систем, имею определенный опыт. И наверное, именно благодаря опыту я не впал в две диаметральные крайности: чрезмерной или напрочь отсутствующей автоматизации.
Как я поступил:
Я свел все линии от выключателей, светильников и ключевых потребителей в основной щит. При желании, его можно было бы собрать исключительно на реле/контакторах: наверное, будет полезно, когда перестану доверять промышленным контроллерам и программируемым реле.
В качестве железных мозгов я применил одно из самых популярных решений в младшей автоматизации: программируемое реле Овен ПР205 (на борту с четом моделей расширений ввода/вывода может быть до 40 DI, 20 DO, 10 AI/AO - это примерно, все зависит от конкретных спецификаций). Это реле уже давно переросло класс устройств «Программируемое реле», из которых оно пошло и может называться полноценным ПЛК, уже имеет встроенные клиент/серверы Modbus RTU/TCP, встроенные макро-библиотеки, гибкую конфигурацию и почти неограниченные возможности по логическим приемам. На таких регулярно собираются целые системы автоматики станций водоподготовки, производственные системы вентиляции, отопления и т.п.

С закрытой крышкой щитовой шкаф мало отличается от обычного

Многостраничное меню, локальные настройки/уставки
Чуть более про Овен ПР205Овен давно идет по пути максимального импортозамещения (ну насколько возможно - свои корпуса, платы, прошивки, производство, широчайшая номенклатура КИПа, измерительных систем и ПР, ПЛК) и с 2022 года де-факто уверенно выжимает в ряде отраслей западных вендоров.
При этом выбран не хитро-выдуманный путь "цен по запросу" и специальных условий для заказчика, а максимально широкое внедрение как среди серьёзных интеграторов, так и среди ИП-специалистов и домашних автоматизаторов.
ПР205 - пример устройства, выросшего из младшей ниши программируемых реле, которое уже наступает на пятки некоторым ПЛК других производителей.
Я запускал на таких ПР полноценные станции водоподготовки, водоочистки с несколькими группами ПИД-регулируемых насосов, десятками опрашиваемых по Modbus устройств и 1500+ регистровых тегов.
Встраиваемая пользовательская программа для ПР создается в проприетарном ПО - Owen Logic, которое регулярно обновляется, совершенствуется и имеет несколько сотен! тем и, наверное, миллионы, сообщений на профильном форуме.
Вот как может выглядеть основное рабочее окно, например для насосной станции (2 насоса с преобразователя частоты, датчик давления, резервуары)

Буквально: слева входы, справа - выходы, а на холсте логические блоки, свернутые в макросборки или непосредственно функциональные блоки, написанные на ST языке (родственник Pascal)
А вот так, например можно реализовать водоочистную станцию после 10 скважин

Моя же программа для домашней автоматизации лаконичней и ещё в процессе своего взросления.

Принцип сохраняется: слева входы, справа выходы, посередине - магия
Казалось бы можно банально привязать выходные контакторы, которые включают, например свет над столом к дискретному входу от соответствующего выключателя. Но тогда потеряется возможность получения внешних команд управления, которые бы позволяли игнорировать положение выключателя. В "особо" умных домах системах применяются кнопки без фиксации а не обычные выключатели, но я оставил себе возможность вернуться к обычной релейной схеме управления потребителями, если я стану техно-ненавистником.
также для некоторых потребителей (уличный свет, гирлянды всякие) полезно иметь импульсный режим включения: щелкнул выключателем туда-сюда пару раз и запустил соответствующую подпрограмму включения привязанной группы с последующим выключением через заданное время.
Или включение фильтра для бассейна как с уличной выключателя, так и по расписанию.
В общем по мере прихода идей, они могут быть реализованы буквально несколькими способами, сидя в удобном кресле за ноутбуком, прошивая контроллер через домашнюю WiFi сеть.
Вот участок, отвечающий за запуск полива по расписанию или по выключателю или по внешней команде по сети:

Чем понятнее назовешь переменные, тем проще "читать" холст программы"
Функциональный блок проверки наступления времени запуска по расписаниюfunction_block SHEDULE_TIME
VAR_INPUT
HH : UDINT; (* Текущие часы (0-23) *)
MM : UDINT; (* Текущие минуты (0-59) *)
HH_ON_1 : UDINT; (* Часы первого включения (0-23) *)
MM_ON_1 : UDINT; (* Минуты первого включения (0-59) *)
HH_OFF_1 : UDINT; (* Часы первого выключения (0-23) *)
MM_OFF_1 : UDINT; (* Минуты первого выключения (0-59) *)
ENABLE: BOOL;
END_VAR
VAR_OUTPUT
OUT: BOOL;
LEFT_M: UDINT := 0;
END_VAR
VAR
NOW : UDINT;
TIME_ON_1 : UDINT;
TIME_OFF_1 : UDINT;
END_VAR
(* Преобразование времени в минуты для удобства сравнения *)
NOW := HH * 60 + MM;
TIME_ON_1 := HH_ON_1 * 60 + MM_ON_1;
TIME_OFF_1 := HH_OFF_1 * 60 + MM_OFF_1;
IF (TIME_ON_1 <> TIME_OFF_1) THEN
(* Основная логика управления выходом *)
IF (TIME_ON_1 <= TIME_OFF_1) THEN
(* Нормальный случай - время включения раньше времени выключения *)
IF (NOW >= TIME_ON_1) AND (NOW < TIME_OFF_1) THEN
out := TRUE;
LEFT_M := TIME_OFF_1 - NOW;
ELSE
out := FALSE;
END_IF;
ELSE
(* Случай, когда время выключения на следующий день *)
IF (NOW >= TIME_ON_1) OR (NOW < TIME_OFF_1) THEN
out := TRUE;
IF (NOW >= TIME_ON_1) THEN
LEFT_M := TIME_OFF_1 + 24 * 60 - NOW;
ELSE
LEFT_M := TIME_OFF_1 - NOW;
END_IF;
ELSE
out := FALSE;
END_IF;
END_IF;
END_IF;
OUT := OUT AND ENABLE;
IF NOT(OUT) THEN
LEFT_M := 0;
END_IF;
end_function_block
FUNCTION_BLOCK TERMOSTAT
//<Description>Управление котлом</Description>
//<GroupName>ТХ</GroupName>
//<Author>Кафтанатий</Author>
VAR_INPUT
actual: real; // текущая температура
target: real; // уставка температуры (отключения)
delta : real; // уставка поддержания (при падении на которое относительно уставки включения, происходит включение)
time_delay_s : udint; // время выжидания перед командами включения/отключения - антидребезг
time_reaction_s : udint; // время, не чаще которого можно ввключать/отключать - переключать контакт управления котлом
enabled : bool; // внешняя команда разрешения управления котлом
END_VAR
VAR_OUTPUT
out : bool; // команда включения котла
state : udint; // статус для HA
END_VAR
VAR
// Команды включения
need_on: bool;
need_off: bool;
// команды выжидания отработки антидребезга
wait_on: bool;
wait_off: bool;
// Время
current_time : UDINT; // Текущее время (мс)
start_action : UDINT; // Время начала действия (мс)
last_switch_time: UDINT; // Время последнего переключения (мс)
// Внутренние состояния
temp_out: bool; // Временное состояние выхода
END_VAR
// === Получаем текущее время ===
current_time := TIME_TO_UDINT(GET_TIME()); // мс
// === Логика управления температурой ===
IF enabled THEN
// Определяем необходимость включения/выключения по температуре
need_on := (actual <= (target - delta));
need_off := (actual >= target);
// Логика включения
IF need_on AND NOT out THEN
IF NOT wait_on THEN
// Начинаем отсчет времени для включения
start_action := current_time;
wait_on := TRUE;
ELSE
// Проверяем выдержку времени для включения
IF (current_time - start_action) >= (time_delay_s * 1000) THEN
// Проверяем минимальный интервал между переключениями
IF (current_time - last_switch_time) >= (time_reaction_s * 1000) THEN
temp_out := TRUE;
last_switch_time := current_time;
wait_on := FALSE;
END_IF;
END_IF;
END_IF;
// Логика выключения
ELSIF need_off AND out THEN
IF NOT wait_off THEN
// Начинаем отсчет времени для выключения
start_action := current_time;
wait_off := TRUE;
ELSE
// Проверяем выдержку времени для выключения
IF (current_time - start_action) >= (time_delay_s * 1000) THEN
// Проверяем минимальный интервал между переключениями
IF (current_time - last_switch_time) >= (time_reaction_s * 1000) THEN
temp_out := FALSE;
last_switch_time := current_time;
wait_off := FALSE;
END_IF;
END_IF;
END_IF;
ELSE
// Сбрасываем таймеры, если условия изменились
IF NOT need_on THEN
wait_on := FALSE;
END_IF;
IF NOT need_off THEN
wait_off := FALSE;
END_IF;
END_IF;
ELSE
// При запрете управления - выключаем котел и сбрасываем состояния
temp_out := FALSE;
wait_on := FALSE;
wait_off := FALSE;
END_IF;
// Устанавливаем выход
out := temp_out;
state.0 := out;
END_FUNCTION_BLOCKОдно из приятных нововедений - возможность писать блоки на языке ST а не ручное связывание таймеров с логическими блоками. Это позволяет дробить сложные простыни программы на лаконичные участки, которые, более того, могут быть внимательно вычитаны и проверены сторонними ИИ-агентами, чат-ботами и прочими инструментами статического анализа и вайб-кодинга.
Также эти блоки почти без изменений могут быть перенесены не только между проектами, что логично, но и в старшие поколения контроллеров (ПЛК), которые чаще всего поддерживают ST язык "из коробки".
Для меня ПР205 решает следующие задачи:
включение простых потребителей от внешних выключателей (в обычном режиме, в импульсном, на заданное время), сборка разных схем освещения по разным переключаемым схемам освещения
управление внешними клапанами автополива (ночью, в удобное время, по заданным настройкам)
управление фильтром бассейна (также запускаю в интервальном настраиваемом режиме)
управление включением подогрева собачьей будки (по внешнему датчику температуры, по гистерезису)
управление включением подогрева собачьей будки (по внешнему датчику температуры, по гистерезису)
включение двухконтурного котла в режиме теплого пола замыканием внешних дискретных управляющих контактов по датчику температуры и уставкам внутри
управление электроприводом для тяжелого двухсоставного люка в подвал летнего дома.
Эти задачи решаются локально, без необходимости интернета и каких-то манипуляций. Встроенного 4” экрана с кнопками хватает для задание редко-меняющихся уставок и параметров.
Но… если учесть, что контроллер смотрит во внутреннюю сеть открытым портом для доступа по Modbus TCP и воспринимает/отдает любые регистры управления – возможности становятся гораздо интереснее.
Raspberry Pi 4 + бесплатная, устанавливаемая «одной кнопкой» за полчаса Home Assistant OS + пару вечеров, потраченные на понимание OS и ее возможностей дают:
единая связка домашней Алисы (Маруси, Сири) со всеми устройствами умного дома в обе стороны
доступ ко всем датчика летнего дома и улицы, которые опрашивает контроллер ПР205
доступ к серверу домашнего видеонаблюдения через HA OS
задание уставок отопления или простых сценариев голосом «Алиса выключи весь свет во дворе»
независимость от интернета при его отсутствии в базовой части алгоритмов
по команде «Открыть бункер» открывать доступ к ходу под печкой или реализовать «Сделай собаке потеплее» к тихой радости хвостатого

Минималистично и лаконично
Для добавления почти всех устройств Флигеля в Home Assistant достаточно описать специальный конфигурационный файл, указав способ доступа (Modbus TCP) и адресацию.
Пример моей конфигурации
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
# Summer House tcp connection
modbus:
- name: pr205
type: tcp
host: 192.168.1.10
port: 502
delay: 0
message_wait_milliseconds: 30
timeout: 5
sensors:
- name: Температура во дворе
unique_id: ld_temp_out
unit_of_measurement: °C
slave: 1
address: 0x402C
swap: word
input_type: input
data_type: float32
scale: 1.00
offset: 0
precision: 1
- name: Температура в летнем доме
unique_id: ld_temp_in
unit_of_measurement: °C
slave: 1
address: 0x4032
swap: word
input_type: input
data_type: float32
scale: 1.00
offset: 0
precision: 1
- name: Температура воды в системе
unique_id: ld_temp_collector
unit_of_measurement: °C
slave: 1
address: 16474
swap: word
input_type: input
data_type: float32
scale: 1.00
offset: 0
precision: 1
- name: Влажность в санузле
unique_id: ld_humidity_san
unit_of_measurement: "%"
slave: 1
address: 16478
swap: word
input_type: input
data_type: float32
scale: 1.00
offset: 0
precision: 1
- name: Температура в санузле
unique_id: ld_temp_san
unit_of_measurement: °C
slave: 1
address: 16476
swap: word
input_type: input
data_type: float32
scale: 1.00
offset: 0
precision: 1
climates:
- name: Температура летнего дома
unique_id: ld_temp_target
address: 16468
swap: word
data_type: float32
input_type: holding
max_temp: 35
min_temp: 5
precision: 1
scale: 1.00
temp_step: 1
temperature_unit: C
target_temp_write_registers: false
target_temp_register: 16468
binary_sensors:
- name: Запуск котла
unique_id: heat_turning_on
address: 16464
device_class: running
input_type: holding
scan_interval: 15
slave: 1
covers:
- name: Бункер
unique_id: LUK
slave: 1
address: 16466
input_type: holding
status_register_type: holding
device_class: door
scan_interval: 10
status_register: 16467
state_opening: 1
state_open: 2
state_closing: 3
state_closed: 4
lights:
- name: Свет в курилке 1
unique_id: L_KUR1
command_on: 1
command_off: 0
address: 16436
verify:
input_type: holding
address: 16437
state_on: 1
state_off: 0
- name: Свет в курилке 2
unique_id: L_KUR2
command_on: 1
command_off: 0
address: 16438
verify:
input_type: holding
address: 16439
state_on: 1
state_off: 0
- name: Свет во дворе
unique_id: L_DVOR1
command_on: 1
command_off: 0
address: 16440
verify:
input_type: holding
address: 16441
state_on: 1
state_off: 0
- name: Свет на заборе
unique_id: L_DVOR2
command_on: 1
command_off: 0
address: 16442
verify:
input_type: holding
address: 16443
state_on: 1
state_off: 0
- name: Свет общий
unique_id: L_IN_COM
command_on: 1
command_off: 0
address: 16444
verify:
input_type: holding
address: 16445
state_on: 1
state_off: 0
- name: Свет на колоннах
unique_id: L_IN_COL
command_on: 1
command_off: 0
address: 16446
verify:
input_type: holding
address: 16447
state_on: 1
state_off: 0
- name: Свет на кухне
unique_id: L_IN_KUH
command_on: 1
command_off: 0
address: 16450
verify:
input_type: holding
address: 16451
state_on: 1
state_off: 0
- name: Подсветка периметра
unique_id: L_LENTA
command_on: 1
command_off: 0
address: 16485
verify:
input_type: holding
address: 16486
state_on: 1
state_off: 0
- name: Свет над столом
unique_id: L_IN_TAB
command_on: 1
command_off: 0
address: 16452
verify:
input_type: holding
address: 16453
state_on: 1
state_off: 0
- name: Свет в сан. узле
unique_id: L_CY
command_on: 1
command_off: 0
address: 16454
verify:
input_type: holding
address: 16455
state_on: 1
state_off: 0
- name: Свет в чулане
unique_id: L_KLAD
command_on: 1
command_off: 0
address: 16456
verify:
input_type: holding
address: 16457
state_on: 1
state_off: 0
- name: Гирлянда
unique_id: L_GIRL
command_on: 1
command_off: 0
address: 16481
verify:
input_type: holding
address: 16482
state_on: 1
state_off: 0
- name: Вентиляция в с/у
unique_id: F_CY
command_on: 1
command_off: 0
address: 16458
verify:
input_type: holding
address: 16459
state_on: 1
state_off: 0
- name: Фильтр бассейна/подогрев будки
unique_id: R_DOG_BAS
command_on: 1
command_off: 0
address: 16460
verify:
input_type: holding
address: 16461
state_on: 1
state_off: 0
- name: Полив правой стороны
unique_id: R_POLIV
command_on: 1
command_off: 0
address: 16462
verify:
input_type: holding
address: 16463
state_on: 1
state_off: 0
- name: Полив левой стороны
unique_id: R_POLIV_2
command_on: 1
command_off: 0
address: 16483
verify:
input_type: holding
address: 16484
state_on: 1
state_off: 0
А если добавить в HomeAssistant интеграцию с голосовым помощником (тестировал на Алисе), то Алиса подтягивает все устройства из HA и уже дает к ним доступ в любом месте, где есть интернет.

Попутно Алиса добавляет голосовыми командами и своими сценариями, то, что не обязательно настраивать аппаратно в контроллере или в HA OS - например попросить включить ее вентиляцию в сан/узле на 10 мин.
Я получил автоматизации ровно такой, какой она была необходима: все что нужно и чуть больше этого.
А за три года стройки я получил место для сбора вместе всей большой семьей, место, каждый сантиметр которого был вначале отрисован в проекте, а затем реализован в кирпиче, плитке или дереве. И не по необходимости, а в удовольствие, в качестве отвлечения от основной работы, как DIY хобби.

P.S. Повторять возможно только после составления сметно-временного отчета: иначе вместо летней беседки можно получить отапливаемый Флигель, и расплатиться за это тремя летними отпусками.
P.P.S. Противопоказания: излишний перфекционизм. Либо он пройдёт, либо не даст закончить стройку.
P.P.P.S. Около 90% отделочных материалов было приобретено в соседнем (25 км) Лемана Про, без их существования я не знаю, где бы я придирчиво перебирал пачки вагонки, мебельные щиты и сдавал/менял плитку. Собственно, благодаря подписке на их хаб и получилась эта статья. Эдакая бесхитростная благодарность любимому строй-маркету.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | ВВОД В СИСТЕМУ «УМНЫЙ ДОМ» МОДУЛЯ GSM | 0 | 5 | 09-07-2026 |
| 2 | Метеобрелок своими руками | 3 | 6 | 24-06-2026 |
| 3 | УМНЫЙ К1 — контроллер на базе ESP32 с REST, syslog и много опенсорса | 2 | 6 | 30-06-2026 |
| 4 | Архитектура ИИ-агента с желаниями или цифровой человек | 5 | 7 | 28-06-2026 |
| 5 | Компактные и интеллектуальные (роботизированные) DIY-тренажёры для дома? Вполне себе реальность… | 5 | 7 | 25-06-2026 |
| 6 | Делание системников из алюминия своими руками | 0 | 5 | 23-06-2026 |
| 7 | Анти‑кейс. Как создать технически идеальный сайт на Next.js про ИИ и нейросети и остаться без поискового трафика | 0 | 5 | 28-06-2026 |
| 8 | Организовал весь пентест-арсенал в одном месте: всё под рукой, офлайн и на русском | 5 | 7 | 28-06-2026 |
| 9 | Метеобрелок своими руками | 2 | 6 | 24-06-2026 |
| 10 | habrGPT. Обучим LLM 0.5B с нуля на статьях Хабра с помощью nanochat от Карпатого. Обучение fp8 дома и сравнение с bf16 | 0 | 5 | 08-07-2026 |