Skip to content
Users Guide of Pool Controller

Users Guide of Pool Controller

Setup

Initial WiFi setup via Web Interface (AP Mode)

When the controller has no WiFi configured, it starts in Access Point mode:

  1. Power on the controller
  2. Connect your phone/laptop to WiFi SSID Pool-Controller-Setup (open network)
  3. Open a browser and go to http://192.168.4.1 — the captive portal redirects automatically
  4. Go to the WiFi Setup tab, scan networks, select yours and enter the password
  5. The controller saves the config and reboots into STA mode
  6. Find the controller’s IP in your router’s DHCP list and reconnect

Note: In AP mode, the web interface has no password (intentional for initial setup). Once connected to your WiFi, a login is required (default password: admin).

Initial WiFi setup via WPS

You can trigger WPS onboarding during boot to pair the controller with your router without typing WiFi credentials manually:

  1. Power on (or reset) the controller normally and wait until firmware startup begins.
  2. Then press and hold the BOOT button for at least 2 seconds.
  3. Start WPS Push Button Connect (PBC) on your router.
  4. Wait until pairing completes.

When WPS succeeds, the controller updates the WiFi credentials and stores them persistently in /config.json on LittleFS.

Finding the Controller on Your Network

Once connected, find the controller’s IP:

  • Check your router’s DHCP client list

  • Or use a network scanner like nmap:

    nmap -p 80 192.168.1.0/24  # scan your subnet for open port 80
  • The web interface shows the assigned IP in the dashboard header

Booting Controller

When booting the controller, it will provide feedback on establishing the WiFi connection and connection to the MQTT broker:

  • “LED” Slowly blinking LED Slowly when connecting to the Wi-Fi
  • “LED” Fast blinking LED Faster when connecting to the MQTT broker

Web Dashboard

The controller provides a modern web dashboard at http://<controller-ip>/ with the following tabs:

  • Dashboard — Live telemetry: pool/solar/controller temperature, pump states, free heap, RSSI, operating mode
  • WiFi Setup — Scan and configure WiFi credentials
  • MQTT Settings — Broker host, port, username, password, TLS toggle
  • Configuration — Operation mode, temperature limits, hysteresis, timer, timezone
  • Security & Update — Change admin password, OTA firmware update, restart, factory reset

Changing Settings via Web UI

  1. Login with your admin password (default: admin)

  2. Navigate to the Configuration tab

  3. Adjust settings as needed:

    • Operation Mode: Automatic (Solar), Manual Control, Boost Pump, Timer Schedule
    • Max Pool Temp: Target water temperature (°C)
    • Min Solar Temp: Minimum solar collector temperature (°C)
    • Temperature Hysteresis: Deadband to prevent rapid toggling (K)
    • Loop Interval: How often the controller evaluates rules (seconds)
    • Timezone: Select from 10 supported timezones with DST handling
  4. Click Save parameters — changes are immediately active and persist across reboots

  5. If MQTT/Home Assistant is connected, the new values are automatically published

Tip: You can also change settings programmatically via the REST API — see the Software Guide.

Settings

There are some specific settings for the controller:

  • Pool max. temperature: The maximum temperature of the water in the pool which should not be exceeded.

    • Unit: °C
    • Default value: 29
  • Solar min temperature: The minimum temperature of the heat storage tank, which should not fall below.

    • Unit: °C
    • Default value: 50
  • Hysteresis: Hysteresis in Kelvin, which is used to verify if heating should be enabled or disabled to prevent fast toggling.

    • Unit: K
    • Default value: 1
  • Pump Timer: time range when pool pump has to run.

    • start h/min
    • end h/min
  • Loop Interval:

    • Unit: sec
    • Default value: 30
  • Timezone: Select the timezone for the controller to properly handle local time and daylight saving time (DST) transitions.

    • Available timezones:
      • 0 - Central European Time (Berlin, Paris) with CEST/CET DST
      • 1 - Eastern European Time (Helsinki, Athens) with EEST/EET DST
      • 2 - Western European Time (London, Lisbon) with BST/GMT DST
      • 3 - US Eastern Time (New York, Washington) with EDT/EST DST
      • 4 - US Central Time (Chicago, Houston) with CDT/CST DST
      • 5 - US Mountain Time (Denver) with MDT/MST DST
      • 6 - US Pacific Time (Los Angeles, San Francisco) with PDT/PST DST
      • 7 - Australian Eastern Time (Sydney, Melbourne) with AEDT/AEST DST
      • 8 - Japan Time (Tokyo) - No DST
      • 9 - China Time (Beijing) - No DST
    • Default value: 0 (Central European Time)
    • This setting can be configured during initial setup or changed at runtime via MQTT
    • Note: Runtime changes via MQTT (operation-mode/timezone) are temporary. To persist the timezone setting across reboots, update the timezone configuration in the device settings.

Rules

The Smart Swimmingpool Controller implements Rules to handle different situations:

Rule: Manual

The pump for cleaning and solar heating are enabled/disabled completely manual and independent.

Rule: Timer

This rule enables the cleaning pump based on timer settings. Solar heating is disabled.

Rule: Auto

This rule enables the cleaning pump based on timer settings. Solar heating is enabled smartly if the cleaning pump is enabled by timer and the heat storage tank has sufficient temperature.

If the maximum temperature of the pool water is reached, the solar heating is disabled.

Rule: Boost

Heating of pool water with all power.

MQTT Interface

The Smart Swimmingpool Controller uses MQTT to communicate with your smart home. It supports Home Assistant MQTT Discovery for automatic device registration — devices appear automatically in Home Assistant without any manual configuration.

OpenHAB Integration

The Smart Swimmingpool Controller could be integrated in openHAB since version 2.4.

It is possible to interact with the controller to enable/disable the pump or to switch the current rule.

Also it is possible to monitor the current values of temperatures or states.

At least the settings could be updated, too.

  • TODO: add example of openhab config.

Device

Properties

Last updated on