Після самостійного чищення бойлера Ariston Velis VLS 50 з’явилась ідея: а що, якщо не просто повернути бойлер на місце, а ще й “навчити” його розповідати про себе в Home Assistant? Реальну температуру обох баків, скільки залишилось гарячої води, чи є він зараз онлайн — і все це без жодного втручання в роботу штатної електроніки бойлера.

У цій статті — як влаштована плата бойлера зсередини, як підключити ESP32 паралельно до штатних датчиків, чому звичайна формула термистора тут не працює, і як виглядає результат у Home Assistant.

📺 Відео зі збіркою та поясненнями: https://youtu.be/wHLzE_R3Wa4

💾 Весь код і файли проєкту: https://github.com/SapozhnikUA/heater-Ariston-WIFI-HomeAssistant


Навіщо це взагалі потрібно

Штатний бойлер Ariston Velis показує температуру лише на своєму власному дисплеї — і все. Немає ні історії, ні графіків, ні сповіщень, ні можливості подивитись стан здалеку. А оскільки бойлер довелось розбирати для чищення, грішно було не скористатись нагодою й не додати пару проводів для моніторингу.

Мета була скромна: побачити реальну температуру, приблизний запас гарячої води та факт того, що пристрій живий і на зв’язку — прямо в звичному інтерфейсі Home Assistant, поруч з іншими розумними пристроями в квартирі.

Як влаштована плата бойлера

Розібравши бойлер, на платі керування знаходимо два входи для термодатчиків — по одному на кожен бак (основний і додатковий). Кожен вхід влаштований однаково:

+5V
 │
NTC 10k (штатний датчик)
 │
 |            ─────► тут можна зняти сигнал
 │            |
 ├────330Ω──────────► ADC штатного контролера
 │
4.7kΩ (штатний резистор)
 │
GND

Тобто це класичний дільник напруги: термистор NTC зверху, резистор 4,7 кОм знизу, а посередині — точка, напруга в якій залежить від температури (опір NTC змінюється з температурою, тому й напруга в точці поділу теж змінюється). Живлення 5В для цього дільника бере від штатного стабілізатора 78M05, який також живить основний керуючий контролер.

Головне правило всього проєкту: ESP32 підключається паралельно до цієї точки і лише читає напругу. Штатний 330-омний резистор і АЦП контролера Ariston й далі отримують сигнал так само, як і раніше — місцевий контролер продовжує керувати нагрівом самостійно, ESP32 тільки “підслуховує”.

Чому не можна просто виміряти температуру термистора

Перше, що спадає на думку — виміряти опір NTC і порахувати температуру за стандартною формулою термистора (так званою Beta-моделлю, 1/T = 1/T0 + ln(R/R0)/B). Але тут є нюанс: коли зняли реальні виміри напруги при відомих показах дисплея Ariston, з’ясувалось, що основний і додатковий бак дають різну напругу при однаковій температурі на дисплеї (наприклад, при 50°C — 2,526В на основному й 3,048В на додатковому). Стандартна фізична формула термистора такого дати не може: якщо термистори однакові, однакова температура мала б давати однакову напругу.

Висновок простий: контролер Ariston рахує температуру не за фізичною формулою, а за власною, “зашитою” в нього нелінійною таблицею калібрування (ймовірно, під конкретний тип NTC, який вони використовують, з урахуванням особливостей конкретної моделі бойлера). Щоб дисплей ESP32 показував те саме, що й дисплей бойлера, а не “правильну” фізичну температуру, потрібно повторити цю ж логіку — калібрувальну таблицю.

Знайшовши в мережі сервісну документацію Ariston із таблицею залежності опору NTC-датчиків від температури, і додатково самостійно виставивши на бойлері кілька контрольних температур (25°C, 50°C, 60°C, 80°C) та зафіксувавши реальну напругу на кожному з двох датчиків, вдалось скласти дві окремі калібрувальні таблиці — по одній на кожен бак. Температура між контрольними точками рахується лінійною інтерполяцією.

Схема підключення ESP32

Для зчитування використано ESP32-S3 SuperMini. Оскільки напруга на датчиках бойлера сягає майже 5В, а вхід АЦП ESP32 розрахований на менший діапазон, перед кожним GPIO стоїть додатковий дільник напруги:

50 кОм (послідовно)
100 кОм (на землю)

Vadc = Vsensor × 2/3   →   Vsensor = ADC × 1.5

Піни підключення:

Пін GPIOБак
GPIO4Основний (верхній) бак
GPIO5Додатковий (нижній) бак

Ще раз важливий момент: ESP32 нічим не керує і нічого не навантажує — це суто пасивний “знімач показань” паралельно до штатної схеми.

Прошивка на ESPHome

Прошивка написана на базі ESPHome і виконує кілька задач:

  • зчитує напругу з обох ADC-пінів;
  • перераховує напругу на самому датчику (Vsensor = ADC × 1.5);
  • рахує температуру через калібрувальну таблицю окремо для кожного бака (а не через фізичну Beta-формулу);
  • рахує орієнтовний опір NTC як діагностичний показник;
  • оцінює приблизний відсоток і літри гарячої води, виходячи з середньої температури обох баків;
  • публікує діагностику: Wi-Fi RSSI, IP-адресу, MAC-адресу, uptime та час останнього виходу на зв’язок (“Last Seen”).

Усі дані йдуть у Home Assistant по Wi-Fi через рідну API-інтеграцію ESPHome — пристрій виявляється автоматично, без додаткових інтеграцій чи хмарних сервісів.

Що показує Home Assistant

Для зручного перегляду зроблена окрема картка на базі Mushroom Cards:

  • загальний блок бойлера з відсотком і літрами гарячої води;
  • температура основного та додаткового бака — з іконкою, колір якої змінюється залежно від температури (від синього до червоного);
  • технічний блок діагностики: напруга і опір NTC обох датчиків;
  • рядок з чіпами стану: Wi-Fi RSSI, IP-адреса, uptime.

Але найцікавіше виявилось не в самій картці, а в графіках. Завдяки історії температури в Home Assistant стало видно реальну логіку роботи бойлера, яку раніше ніяк не можна було спостерігати:

  • у звичайному режимі спочатку гріється лише основний бак; коли він досягає заданої температури — вмикається ТЕН другого (додаткового) бака;
  • обидва ТЕНи одночасно можна увімкнути лише в спеціальному “fast”-режимі;
  • коли з крану розбирають гарячу воду, на графіку видно різке падіння температури саме в додатковому баку (куди в першу чергу заходить холодна вода), тоді як в основному баку температура падає повільніше й менш різко — завдяки перемішуванню.

Це дає змогу не просто дивитись цифру на дисплеї, а розуміти, скільки реально лишилось гарячої води і як бойлер поводиться під навантаженням.

Обмеження проєкту

Варто чесно зазначити кілька моментів:

  • це пасивний моніторинг, він нічим не керує і не замінює штатну автоматику бойлера;
  • калібрувальні таблиці підібрані під конкретний екземпляр Ariston VLS 50 — для інших моделей чи серій, ймовірно, знадобляться власні виміри;
  • “% гарячої води” і “літри” — орієнтовна оцінка за середньою температурою обох баків, а не пряме вимірювання рівня води;
  • будь-яке втручання в електроніку бойлера варто робити на власний ризик, з відключеним живленням під час підключення проводів.

Плани на майбутнє

В процесі збірки з’явилась ще одна ідея — додати окремий датчик для виявлення можливого протікання бойлера, щоб вчасно помітити проблему й уникнути затоплення. Це наступний крок розвитку проєкту.


Весь код і файли

Повний конфіг ESPHome, калібрувальний хедер і готова картка для Home Assistant викладені у відкритому доступі:

🔗 GitHub: https://github.com/SapozhnikUA/heater-Ariston-WIFI-HomeAssistant

А детальну розповідь про збірку, підключення й перші тести можна подивитись у відео:

📺 YouTube: https://youtu.be/wHLzE_R3Wa4

Якщо повторюватимете подібний проєкт на своєму бойлері — майте на увазі, що калібрувальні точки, швидше за все, доведеться зняти заново під конкретну модель.

Рано чи пізно кожен власник водонагрівача стикається з тим, що прилад починає довше гріти воду, видавати дивні звуки під час роботи або просто «їсти» забагато електроенергії. Усе це — перші ознаки того, що всередині накопичився накип, а магнієві аноди відпрацювали свій ресурс.

У цій статті я поділюся власним досвідом. Я не професійний сантехнік чи майстер з ремонту. Я — звичайний власник плоского бойлера Ariston, який вирішив обслужити його вперше в житті своїми руками.

Нижче — чесний покроковий гайд про те, як влаштований плоский бойлер на два баки, з якими труднощами може зіткнутися новачок і як зробити все правильно, заощадивши на виклику майстра.


🛠️ Підготовка: що потрібно купити та знайти вдома

Плоскі бойлери Ariston мають свою специфіку: всередині знаходяться два окремі баки, а отже — два ТЕНи та два магнієві аноди.

Перед тим як розбирати систему, підготуйте:

  • Нові магнієві аноди (2 шт.). Важливо: перед покупкою обов’язково дізнайтеся модель вашого бойлера, адже різьба на анодах буває різною (M4, M5 або M6).
  • Нові гумові прокладки. Навіть якщо старі здаються цілими, краще мати нові під рукою, щоб уникнути раптового протікання після збирання.
  • Інструменти: трубчастий або торцевий ключ на 10 (або 13, залежно від кріплення фланця), хрестова та пласка викрутки.
  • Засіб від накипу: кілька пачок звичайної лимонної кислоти або спеціальний хімічний засіб для видалення відкладень.
  • Шланг для зливу води та відро або таз.

📋 Покроковий процес обслуговування

Крок 1: Безпека та зливання води

⚠️ Найголовніше правило: Повністю знеструмте бойлер! Витягніть вилку з розетки або вимкніть відповідний автомат у щитку. Перекрийте подачу холодної води.

Далі потрібно злити воду з бака. Для цього від’єднуємо шланг подачі, скручуємо зворотний (запобіжний) кран і під’єднуємо зливний шланг, направивши його в унітаз або ванну.

  • Лайфхак для новачка: Щоб вода взагалі почала витікати, потрібно відкрити кран гарячої води на будь-якому змішувачі в домі — це запустить повітря в систему.

Крок 2: Демонтаж кришки та електрики

Знімаємо пластикову захисну кришку знизу бойлера. Перед вами з’явиться плата керування та купа дротів.

  • Порада, яка врятує ваші нерви: Візьміть телефон і сфотографуйте схему підключення дротів з кількох ракурсів. Коли ви будете збирати все назад, ця фотографія стане вашим головним рятівником.

Після цього акуратно від’єднуємо фішки, витягуємо термодатчики з пазів та знімаємо електронні модулі.

Крок 3: Виймання ТЕНів та шокуючий накип

За допомогою торцевого ключа послаблюємо та відкручуємо гайки, які тримають фланці ТЕНів. Робіть це обережно.

Коли ви почнете витягувати ТЕНи, будьте готові до того, що вони можуть «застрягти». Це стається через величезні шматки накипу, які наросли на металі (іноді там утворюються цілі «шуби»). Акуратно прокручуйте фланець, щоб просунути його крізь отвір бака.

Крок 4: Чищення та заміна анодів

Те, що залишається від старих магнієвих анодів після кількох років експлуатації, зазвичай схоже на тонкий іржавий штир — сам магній повністю розчиняється, захищаючи бак від корозії.

  1. Скрутіть залишки старих анодів та вкрутіть на їхнє місце нові.
  2. Самі ТЕНи замочіть у гарячій воді з лимонною кислотою. Не шкребіть їх ножем чи металевими щітками, щоб не пошкодити захисний шар. Залиште їх у розчині — хімія зробить усе сама.
  3. Промийте внутрішні баки бойлера водою, щоб вимити залишки бруду з дна.

Крок 5: Збирання та перший запуск

Встановлюємо очищені ТЕНи з новими анодами та прокладками назад у баки. Рівномірно (хрест-навхрест) затягуємо гайки фланців. По фотографії в телефоні відновлюємо підключення всієї електрики та термостатів.

Важливий момент запуску: Спочатку відкрийте подачу холодної води та кран гарячої води на змішувачі. Почекайте, поки з крана вийде все повітря і піде рівна цівка води. Це означає, що бойлер повний. Тільки після цього перевірте, чи ніде знизу не підтікає вода, і лише тоді вмикайте прилад у розетку.


💬 Мої висновки після першої чистки

Чи важко це робити новачкові? Ні, якщо діяти послідовно та не поспішати. Уся процедура займає від 2 до 4 годин (більша частина часу йде на зливання води та відмочування ТЕНів). Зате тепер я впевнений у чистоті води, бойлер працює безшумно, а сімейний бюджет зекономив кругленьку суму.

А ви вже чистили свій бойлер власноруч чи довіряєте цю справу професіоналам? Поділіться своїм досвідом чи порадами в коментарях нижче!

🎥 Відеоінструкція

Development Board

Code name: ESP32S3_DEV
Board contains three LEDs (RGB / RED / BLUE)

1. BLUE – connected to the Battery Charge – it is not controlled

2. RED – Connected directly to GP48. ON/OFF when output is stable. Flashes when transmitting RGB data.

3. RGB – digital LED (WS2818). Connected to GP48


RGB LED control via HomeAssistant

Code for ESPHome:

esphome:
  name: esp32-s3-rgb-led
  friendly_name: ESP32-S3 RGB LED

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

logger:

api:
  encryption:
    key: !secret api_encryption_key

ota:
  - platform: esphome
    password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32-S3 Fallback"
    password: "fallback123"

captive_portal:

light:
  - platform: neopixelbus
    type: GRB
    variant: WS2812
    pin: GPIO48
    num_leds: 1
    name: "RGB LED"
    id: rgb_led
    restore_mode: RESTORE_DEFAULT_OFF

select:
  - platform: template
    name: "LED Color"
    id: led_color
    options:
      - "Вимкнено"
      - "Червоний"
      - "Зелений"
      - "Синій"
    initial_option: "Вимкнено"
    optimistic: true
    on_value:
      then:
        - if:
            condition:
              lambda: 'return x == "Червоний";'
            then:
              - light.turn_on:
                  id: rgb_led
                  red: 100%
                  green: 0%
                  blue: 0%
                  brightness: 100%
        - if:
            condition:
              lambda: 'return x == "Зелений";'
            then:
              - light.turn_on:
                  id: rgb_led
                  red: 0%
                  green: 100%
                  blue: 0%
                  brightness: 100%
        - if:
            condition:
              lambda: 'return x == "Синій";'
            then:
              - light.turn_on:
                  id: rgb_led
                  red: 0%
                  green: 0%
                  blue: 100%
                  brightness: 100%
        - if:
            condition:
              lambda: 'return x == "Вимкнено";'
            then:
              - light.turn_off:
                  id: rgb_led

button:
  - platform: template
    name: "Наступний колір"
    on_press:
      then:
        - lambda: |-
            auto current = id(led_color).state;
            if (current == "Вимкнено") {
              id(led_color).make_call().set_option("Червоний").perform();
            } else if (current == "Червоний") {
              id(led_color).make_call().set_option("Зелений").perform();
            } else if (current == "Зелений") {
              id(led_color).make_call().set_option("Синій").perform();
            } else {
              id(led_color).make_call().set_option("Вимкнено").perform();
            }

HomeAssistant and managing

You can change brighntes or color of LED

ESP32-S3 Super mini Schematic

Причина та наслідки. Як зробити самому

Погана якість водопровідної води — часта проблема, що проявляється накипом у чайнику та плямами на сантехніці. Оптимальним рішенням є встановлення системи зворотного осмосу. У цьому матеріалі ми розглянемо процес монтажу на прикладі стандартної п’ятиступеневої системи.

1. Підготовка та комплектація

Перед початком роботи перевірте наявність усіх компонентів Ecosoft Standard PRO 5-50 (MO550MECOSTD):

  • Бак-накопичувач для чистої води.
  • Корпус фільтра з трьома колбами.
  • Комплект картриджів: механічної очистки (5 мкм та 1 мкм) та вугільний.
  • Мембрана зворотного осмосу (серце системи).
  • Постфільтр для фінального очищення.
  • Змішувач: у даному випадку використовується комбінований кран (для звичайної та фільтрованої води в одному корпусі).
  • Набір трубок (червона — вхід, жовта — бак, синя — кран, чорна — дренаж).

2. Збірка основних блоків

Встановлення картриджів

  1. У першу колбу ставимо фільтр грубої очистки (5 мкм).
  2. У другу — вугільний фільтр (важливо ставити білим ущільнювачем догори).
  3. Третю колбу (1 мкм) поки залишаємо порожньою для первинної промивки вугільного пилу.
  4. Затягуємо колби спочатку вручну, а потім спеціальним ключем з комплекту.

Підготовка бака та мембрани

  • Бак: Намотайте фум-ленту (приблизно 15 обертів) на різьбу бака та накрутіть пластиковий кран.
  • Мембрана: Відкрийте корпус мембрани (зверху системи), вставте мембрану до упору (бажано не торкатися її руками) та щільно закрийте кришку.

3. Підключення до водопроводу та каналізації

Врізка в магістраль

Використовуйте перехідник-трійник. Вкрутіть його між краном холодної води та гнучким шлангом змішувача. Не забудьте про ущільнення фум-лентою.

Монтаж крана та дренажу

Якщо ви використовуєте комбінований змішувач, підключіть синю трубку до відповідного входу на крані за допомогою затискної гайки або кліпси. Чорну трубку (дренаж) виведіть у каналізаційний сифон.

4. Промивка системи (Важливо!)

Перед використанням систему необхідно промити від вугільного пилу:

  1. Підключіть вхідну воду (червона трубка).
  2. Відкрийте подачу води при знятій третій колбі або перед мембраною.
  3. Злийте близько 7-10 літрів води, поки вона не стане прозорою.
  4. Після цього встановіть третій картридж (1 мкм) та підключіть мембрану.

5. Реальну ефективність: заміри

Після встановлення важливо перевірити працездатність. За результатами тестів автора відео:

  • Корисний об’єм: Бак на 6 літрів набирався приблизно 1 годину 20 хвилин.
  • Злив у каналізацію: Для отримання 6 літрів чистої води в каналізацію було злито близько 50 літрів “брудної”.
  • ККД: Корисний вихід води становить приблизно 10-12%, що є нормою для побутових систем без помпи при середньому тиску (близько 4 атмосфер).

Порада: Для економії місця під мийкою бак можна розмістити збоку, а сам блок фільтрів закріпити на стінці шафки.

7. Детальне відео

Детальне відео, що показує усі процеси підключення можна подивитись в YouTube

8. Змішувач з краном фільтрованої води

Ми не ходтіли ставити окремий кран, що був в комлекті, тому було куплено комбінований Змішувач для кухні із краном для фільтрованої води LIDZ Ariaі 24F-SFS сатин нержавіюча сталь LDARI020F1NKS43359. Гарне пакування, повний комплект, відміння якість. Але час покаже, як буде працювати. З недоліків – короткі шлангочки, але, це, здається, в усіх.

20/1595