PoolControl.io

An open-source bridge that plugs into your Connect 10 pool system and brings its state and controls into Home Assistant.

How it works

A small ESP32-C6 board daisy-chains into the Connect 10's RJ12 control bus, which also powers it. It listens to the traffic between the touchscreen, controller and accessories, decodes it, and publishes everything to your MQTT broker — where Home Assistant discovers it automatically. Commands flow the other way.

  1. Connect 10RJ12 bus
  2. ESP32-C6this firmware
  3. MQTTover WiFi
  4. Home Assistantauto-discovery

What you get

Monitor

  • Water temperature
  • Channel, light and heater state
  • Timers and favourites
  • Chlorinator pH and ORP
  • Variable-speed pump speed and power

Control

  • Lights — on/off and colour
  • Channels — On / Auto / Off
  • Filter pump speed
  • Heaters and set points
  • Pool/Spa mode and valves

Integrate

  • Home Assistant entities with no YAML
  • Per-channel power and energy for the Energy dashboard
  • Over-the-air updates from GitHub releases
  • Web UI and live bus log

Getting started

  1. Build the hardware

    A small PCB carrying a Waveshare ESP32-C6 Mini, in a 3D-printed case, with two RJ12 sockets for the bus and USB-C for flashing.

  2. Flash the firmware

    Use the web installer from desktop Chrome or Edge — no toolchain needed. After the first install, updates arrive over-the-air.

  3. Connect to WiFi

    Plug it into the pool bus. When the LED turns purple, join the POOL_AABBCC network from your phone and pick your WiFi at 192.168.4.1.

  4. Point it at Home Assistant

    Enter your MQTT broker at http://poolcontrol-AABBCC.local/mqtt_config. The pool's entities appear in Home Assistant by themselves.

Full setup notes, the LED colour reference and power monitoring are in the README.

About the project

This started as a learning project. The Connect 10 bus protocol isn't published, so everything here was worked out by listening to the bus and decoding messages by trial and error — the findings are written up in the protocol notes. Contributions and captures from other installs are welcome.