Circupool/Calimar/Black and Decker variable speed pump integration

I’m looking at a new variable speed pump/filter. Circupool/Calimar/Black and Decker all seem based on the same pump (people looked up the Energy Star info).

The “automation adapter” is just a few relay lines for presets and nothing else.
The pump controller can show speed, power etc and have schedules programmed.

I haven’t seen anything on how to access anything more advanced, maybe through serial or modbus. Maybe someone has looked inside the controller already.

me too, i just got the automation adapter but it actually seems quite dumb…i was hoping for an RS485 int…anyone else?

I’m also looking for a way to integrate Circupool Salt Water Generator (Chlorinator) to HA. I have one installed, I remember I red somewhere there should be an RS485, but couldn’t find any indications in the user manual. I may disconnect it and open it up if anybody willing to help…

Did you ever get anywhere with this? Looking to do the same with the SWG…

Any updates on your integration, I just ordered the adapter and plan on using ESPHome to control the relays.
Update: I have mine up and running using an ESP32-S3, I also wired in a temp sensor and a digital presure sensor for my filter. No relays required, the esp32 just needs to act like a momentary switch.


i2c:
  - scl: GPIO6
    sda: GPIO5

# Sensor declarations
sensor:
  # Water pressure sensor on A0 pin calibrated for PSI
  - platform: adc
    pin: GPIO1
    name: "Water Pressure"
    unit_of_measurement: "PSI"
    update_interval: 60s
    accuracy_decimals: 2
    filters:
      - calibrate_linear:
          - 0.0 -> 0    # Assuming 0V corresponds to 0 PSI
          - 0.81211 -> 18  # 0.81211 corresponds to 18 PSI
      - multiply: 3.53  # Adjust the multiplier to correct the output

  # WiFi Signal Strength sensor
  - platform: wifi_signal
    name: "WiFi Signal Strength"
    id: wifi_strength  # Changed ID to avoid conflict
    update_interval: 60s
 
  - platform: aht10
    variant: AHT20
    temperature:
      name: "Temperature"
      id: aht20_temperature
    humidity:
      name: "Humidity"
      id: aht20_humidity
    update_interval: 60s

# Enable the web server to display the sensor readings
web_server:
  port: 80

# Display the ESP32 state on the web interface
text_sensor:
  - platform: template
    name: "ESP32-C6 State"
    lambda: |-
      if (id(wifi_strength).state < -70) {
        return {"Poor Signal"};
      } else if (id(wifi_strength).state < -60) {
        return {"Fair Signal"};
      } else {
        return {"Good Signal"};
      }

# Pool Pump Control Push Button Version - Using three momentary relays corresponding to IN1, IN2, and IN3.
switch:
  - platform: gpio
    name: "3000 RPM"
    pin: GPIO9  # Replace with the actual GPIO pin for IN1.
    id: pool_pump_in1
    on_turn_on:
      - switch.turn_off: pool_pump_in2
      - switch.turn_off: pool_pump_in3
      - delay: 500ms
      - switch.turn_off: pool_pump_in1

  - platform: gpio
    name: "2500 RPM"
    pin: GPIO8  # Replace with the actual GPIO pin for IN2.
    id: pool_pump_in2
    on_turn_on:
      - switch.turn_off: pool_pump_in1
      - switch.turn_off: pool_pump_in3
      - delay: 500ms
      - switch.turn_off: pool_pump_in2

  - platform: gpio
    name: "1500 RPM"
    pin: GPIO7  # Replace with the actual GPIO pin for IN3.
    id: pool_pump_in3
    on_turn_on:
      - switch.turn_off: pool_pump_in1
      - switch.turn_off: pool_pump_in2
      - delay: 500ms
      - switch.turn_off: pool_pump_in3

#Exposes control buttons
button:
  - platform: restart
    icon: mdi:power-cycle
    name: "ESP Reboot"

please would you like to be a little more specific in your implementation like pump type connection between esp32 board and pump
would be really appreciated
best regards