Hello everyone! I’m excited to share my recent project where I integrated ESPHome and Node-RED to control a network of water pumps. This setup has been a game-changer for managing my irrigation system efficiently. ![]()
I have 20 water pumps, each controlled by a relay board managed by an ESP32 (NodeMCU-32S). Initially, I tried using MQTT over Node-RED, but the reliability wasn’t up to par—messages were delayed by ±30 seconds, causing all pumps to start simultaneously, which wasn’t ideal. ![]()
After some brainstorming, I decided to push the delay time directly to the ESP32. This approach allows the ESP32 to handle the timing internally, ensuring precise control without relying on MQTT delays. ![]()
Here’s a quick overview of my setup:
- ESPHome Configuration: I configured the ESP32 to handle each pump individually, with custom topics for each. This ensures scalability and easy management.

- Node-RED Dashboard: I created a dashboard for settings like output per minute, tank size, and recipes. It’s user-friendly and allows real-time adjustments.

- Functionality: The system calculates how long each pump should run to meet the desired output, then switches them off automatically after the delay.

I faced some challenges, like figuring out how to pass the delay time via MQTT, but the ESPHome documentation and community support were invaluable. ![]()
This project has not only improved the efficiency of my irrigation system but also reduced manual intervention. It’s a testament to how powerful combining ESPHome and Node-RED can be! ![]()
If anyone has questions or suggestions, I’d love to hear from you! Happy tinkering! ![]()