Skip to content
Home Assistant Integration

Home Assistant Integration

The Pool Controller integrates seamlessly with Home Assistant via MQTT Discovery (default protocol). All entities are registered automatically when the controller connects to your MQTT broker.

MQTT Discovery

The controller publishes HA MQTT Discovery payloads on startup and on MQTT reconnect. No manual MQTT configuration is needed — devices appear in Home Assistant automatically.

Available Entities

DomainObject IDCategoryDescription
sensorpool_temperaturediagnosticPool water temperature
sensorsolar_temperaturediagnosticSolar collector temperature
sensorcontroller_temperaturediagnosticESP32 chip temperature
sensorfree_heap_spacediagnosticFree heap memory
sensormax_alloc_blockdiagnosticLargest allocatable block
sensorwifi_signal_strengthdiagnosticWiFi RSSI
sensorsystem_uptimediagnosticDevice uptime in seconds
sensorlocal_timediagnosticCurrent local time
selectoperation_modeOperating mode (auto/manu/boost/timer)
switchpool_pumpPool circulation pump
switchsolar_pumpSolar heating pump
numbermax_pool_tempMaximum pool temperature target
numbermin_solar_tempMinimum solar activation temperature
numbertemperature_hysteresisconfigTemperature hysteresis value
timetimer_startTimer start time (HH:MM)
timetimer_endTimer end time (HH:MM)
selecttimezoneconfigTimezone selection
textntp_serverconfigNTP server address
updatefirmwareFirmware update entity

Entity IDs in HA are generated from the MQTT unique_id. The actual IDs on your system may differ from the examples above (e.g. sensor.pool_controller_pool_temperature). Check Developer Tools → Entities and filter by “pool” to find your IDs.

Lovelace Dashboard

A pre-built Lovelace dashboard configuration is provided in home-assistant-dashboard-pool.yaml.

Features

  • Pool view: Temperature gauges, mode switching, timer, pump control, 24h history
  • Configuration view: Timezone, NTP server, system information, firmware updates
  • Active mode highlighting for the operation mode buttons

Setup

  1. Copy the YAML file to your HA configuration directory
  2. Open HA → Dashboard → Edit → Three-dot menu → Raw Configuration Editor
  3. Paste the content
  4. Adjust entity IDs to match your installation (see warning below)
  5. Save

Dependencies

The mode buttons use button-card (custom card) to visually highlight the active operation mode:

HACS → Frontend → button-card → Install

Without button-card, replace custom:button-card with type: button in the grid cards (loses active-mode highlighting).

Entity ID Warning

Entity IDs depend on the MQTT unique_id format generated by the controller. The YAML uses pool_controller as prefix — if your IDs use a different prefix (e.g. based on the device MAC), replace all occurrences.

Migration from earlier versions

If upgrading from a previous firmware version, old discovery configs may remain in the MQTT broker. The controller automatically publishes empty retained configs for obsolete entities (number/timer-start-h/min, number/timer-end-h/min, number/timezone). After the first MQTT reconnect, Home Assistant removes the orphaned entities automatically.

Last updated on