ESPHome Pool Controller: Controlling Nidec Neptune / Waterway Pumps & Stenner Dosing

Thanks for the pep talk, I tried, but again do not see a semi easy cut and dry way to program this device to add physical buttons and program them to trigger a specific speed and/or run time, like a quick clean time of 30 or 60 minutes.

Yeah, it’s not countless hours, but it isn’t 1 hour either. :blush: I totally understand and good luck with your replacement pump.

Update: fixes for future ESPHome compatibility + a new water-pump-only config

Pushed a couple of changes to the repo that also matter for forward compatibility, since ESPHome has been moving these keys around:

  • Deprecated Modbus key fix — modbus_command_throttle was renamed; switched it over to modbus.turnaround_time (with the turnaround_time on the modbus: block). If you’ve been on recent ESPHome versions and saw warnings or odd Modbus behavior, this is likely why.
  • Status LED — rgb_order: RGB is now channel_colors: RGB on the WS2812 strip.
  • Chlorine tank-persistence fix — the running tank-level decrement now survives a restart. It persists on the flash_write_interval safety net and once at dose stop, so the in-memory level no longer reverts when the controller reboots.
  • Energy sensors — the pump/chlorine energy sensors are now state_class: total_increasing so they accumulate correctly in HA stats.

New: pool-controller-water-pump-only.yaml

A stripped-down variant for bare pump installs — the full water-pump core (Modbus, RPM guardrails, flow estimation, 7-day telemetry) with the entire chlorine dosing subsystem removed. Use this if you don’t run a Stenner/dosing pump.

I’d love to get confirmation it’s working correctly. If you’ve already stripped the chlorinator by hand (or have a config where it’s present but not working), this is a clean the drop-in — pull pool-controller-water-pump-only.yaml over the top of your config and check that pump control + telemetry come up as expected. Much appreciated!

Also, for those of you using this that are interested in a nicer looking card to control the water pump, I’ve posted the dashboard yaml and instructions for this one. It’s pretty much plug and play with either of the pool controller configs if you follow the instructions.

Instructions in the repo:

esphome-nidec-neptune-pool-controller/README.md at main · ccpk1/esphome-nidec-neptune-pool-controller