Жила была у меня насосная станция Grandfar 125С и было у неё два недостатка: нет защиты от сухого хода; механическое реле давления, которое хоть и можно было немного настроить, но работало плохо. Основная проблема с реле давления была в том, что напор воды в стояке очень сильно зависит от времени суток и порой приходилось двигать верхнюю границу, чтобы можно было нормально и посуду помыть и в душе помыться. А вместе с верхней двигалась и нижняя, так как возможная дельта довольно небольшая. Что приводило либо к невключению насоса, либо к работе рывками при использовании душа. Да, я слышал про гидрокомпенсаторы гидроаккумуляторы, чтобы давление на входе не так сказывалось на работе станции, но во первых — места в квартире под него у меня нет, а во-вторых — защиту от сухого хода всё равно хочется. Также рабочее давление у моего насоса небольшое — 2.5 Бар, поэтому я не стал делать защиту по давлению — он просто не сможет создать давление в системе водоснабжения квартиры, которое её разрушит. Итак, полез я в интернет и принялся искать готовое решение своей задачи и, к своему удивлению, не нашёл. Да, есть прекрасное электронное устройство WPC-10, которое по давлению включает насос, но включение защиты от сухого хода через две минуты после работы в сухую — это ни в какие ворота. Отдельно покупать защиту от сухого хода я не захотел. Ну что же, придётся собрать своё устройство, задача вроде простая: кран открыт, качай, кран закрыт — не качай. Ну и если воды на входе нет, то и насосу работать незачем — сгорит ещё. Также это устройство станет частью насоса и не будет беспокоить пользователя регулировками, сбросом ошибок и прочей магией. После недолгого поиска и недели ожиданий посылок я обзавёлся: Датчиком расхода воды YF-B10 — в отличие от датчика давления, по нему можно понять, что на входе нет воды и защитить насос от сухого кода. Реле Sonoff Mini R2 — не самое компактное, но самое недорогое (~ 600 ₽), что я нашёл. Максимальный коммутируемый ток 10А, что при мощности насоса 125 Вт хватает с большим запасом даже с учетом пусковых токов. А ещё эта модель с изолированным от высоковольтной части входом, куда мы и подключим датчик после небольшой доработки реле. Трехконтактным разъёмом KF301-3PIN — чтобы подключать датчик расхода к нашему реле. Программатором для ESP — да, в Sonoff Mini R2 вроде как можно залить прошивку в режиме DIY, но он у меня был и не зря. Огромным желание мыться в любое время суток и не сжечь ненароком насос, если отключат воду. Сразу скажу, что статья подразумевает знакомство с ESPHome, паяльником и базовыми знаниями электрики. Руководствуйтесь здравым смыслом, если что-то сломаете — я отвечать не буду. Это не готовое руководство к действию, а скорее рассказ об опыте.  Итак, расчехляем паяльник, прогоняем со стола кошку и начинаем творить. Датчик расхода требует низковольтное питание, в самом реле источник есть, но наружу он не выведен — исправим это: Разбираем корпус реле и выпаиваем двухпиновый разъём. Просверливаем в углу отверстие под третью ножку нового разъёма. Запаиваем трёхпиновый разъём. Оставшуюся свободной ножку соединяем проводком с точкой 3V на плате реле. Собираем корпус назад, по пути подрезав уголок. Программист из меня плохой, поэтому я использовал знакомую прошивку ESPHome, которая основана на фреймворке Ардуино и довольно просто настраивается в yaml файле. Про установку ESPHome я рассказывать не буду, по ссылке выше всё расписано довольно подробно, поэтому сразу перейду к конфигурированию прошивки.  Опишем выход для управления реле (pump_relay) и сенсор на платформе pulse_counter. Также не забудем про обновление по воздуху, чтобы оперативно вносить изменения. Итоговый код получился такой: Сохраняем файл и собираем прошивку, проще всего использовать docker и запускать ESPHome в режиме dashboard, инструкция — так вы получите простой веб-интерфейс для компиляции прошивок и управления устройствами. У меня с переводом реле в DIY режим не заладилось, поэтому я подпаялся к контрольным точкам на плате, подключил программатор и прошил прямо из веб-интерфейса ESPHome, указав, что устройство подключено локально.  Картинку взял из документации Tasmota, она немного от другой версии реле (с внешней антенной), но расположение нужных контрольных точек аналогичное: GND, 3V3, TX, RX, GPIO0 (KEY_IN). Реле подготовлено и прошито, настало время всё собрать. Монтируем на выходе насоса датчик расхода воды.  Обратите внимание на стрелку — она указывает направление движения воды. Коннектор на другом конце провода можно отрезать, он не пригодиться. Снимаем чёрную коробочку с корпуса насоса, там нас ожидают три провода и конденсатор.   Приспосабливаем на место старой коробки новую, побольше. Её я нашёл в ближайшем строймагазине в отделе с электрикой и прикрутил на старые болты к корпусу насоса.   Соединяем всё по схеме ниже.   Закрываем крышку, включаем в розетку и открываем кран. Если все собрано и прошито верно, то радуемся результату. Если не заработало — проверяем ещё раз. Раз наш насос немного поумнел, то почему бы не следить за его состоянием из системы домашней автоматизации, тем более, что для этого не придётся даже пачкать руки. Хочется видеть: время работы, уровень сигнала Wi-Fi, текущий статус реле, значение с датчика расхода воды в попугаях и состояние самого устройства. В моём контроллере есть MQTT-брокер, поэтому всё, что нам надо — прокинуть в него нужные данные. Я не буду расписывать каждую строчку кода, просто опишу изменение в нём словами и приведу код с комментариями ниже. Добавляем: mqtt — описываем подключение к брокеру. binary_sensor — сенсор состояния реле. wifi_signal и uptime — сенсоры уровня Wi-Fi и времени работы. Собираем прошивку и заливаем её одной кнопкой по воздуху — вот и пригодился настроенный ранее OTA. Теперь подключаемся к нашему брокеру через MQTTExplorer и в дереве топиков мы должны увидеть автоматику насоса. У меня контроллер Wiren Board, для которого я когда-то писал конвертер esphome2wb, поэтому новое устройство автоматически появилось в веб-интерфейсе контроллера. Это был интересный проект выходного дня, который сделал насосную станцию практически идеальной. За три месяца работы я не заметил никаких проблем. Защита от сухого хода работает моментально, как только вода в стояке пропадает, то датчик расхода воды показывает ноль и насос отключается. После появления воды в стояке насос заработает автоматически. Файлы из статьи положил в репозиторий esphome-pump-r2, чтобы не потерялось.  Техписатель