This is an integration to support the Zodiac Z400iq Pool Heat Pump for Home Assistant
- star 数
- 2
- watcher 数
- 0
- fork 数
- 2
- issue 数
- 0
- 最終更新
- 2026/09/23
This is an integration to support the Zodiac Z400iq Pool Heat Pump for Home Assistant
A Home Assistant custom integration for the Zodiac Z400iQ pool heat pump,
spoken to via the Fluidra / iAquaLink cloud (prod.zodiac-io.com).
The official Home Assistant iaqualink integration and the HACS exo_pool
integration cover other devices on the same cloud but do not surface this
heat pump's data. This integration adds:
off / temp_buffer / heating), heater mode (boost / silent),
reason code.In HACS → Integrations → ⋮ → Custom repositories.
Add https://github.com/colegates/iaqualink-zodiac-integration as type
Integration.
Install Zodiac iAquaLink Heat Pump and restart Home Assistant.
Settings → Devices & Services → Add Integration → search for "Zodiac iAquaLink Heat Pump".
Enter your iAquaLink email, password, and the heat pump serial number.
To find your heat pump serial: log in at https://iaqualink.net, open
the location/site for your pool, then click Device Status. The serial
is also printed on the sticker on the unit and looks like LB18475932.
| Operation | Method | URL |
|---|---|---|
| Login | POST | https://prod.zodiac-io.com/users/v1/login |
| Read state | GET | https://prod.zodiac-io.com/devices/v1/{serial}/shadow |
| Write desired | POST | https://prod.zodiac-io.com/devices/v1/{serial}/shadow |
Writes use the standard AWS-IoT-style desired-state shape:
{ "state": { "desired": { "equipment": { "hp_0": { "tsp": 28 } } } } }Shadow keys we use under equipment.hp_0:
state — power command/report. 1 = on, 0 = off. Writing this is what
the iAquaLink app does when you toggle the heater.tsp — target setpoint in °C (8–32).st — mode. 0 = Boost, 1 = Silent.status — operational status (read-only). 0 Off, 1 Temperature buffer
(at/near target), 2 Actively heating.fan — fan running indicator (read-only).The polling interval is configurable per device from Settings → Devices & Services → Zodiac iAquaLink Heat Pump → Configure. It defaults to 10 minutes.
The cloud rate-limits aggressively — HTTP 429s have been observed in real-world use even at 5-minute polling with a single device configured. Guidance:
Each entity gets a Material Design icon via icons.json. The integration's
tile/logo in Home Assistant and HACS, however, is sourced from the
home-assistant/brands
repository at runtime — there is no manifest field that overrides this.
The existing iAquaLink logo from that repo is bundled in
brands/zodiac_iaqualink/ ready to be submitted
as a brands PR (instructions in brands/README.md).
Once merged into home-assistant/brands, the iAquaLink logo will appear on
the integration tile. Until then HA shows a generic puzzle icon next to
"Zodiac iAquaLink Heat Pump".
The integration follows Home Assistant's standard error-reporting paths:
custom_components.zodiac_iaqualink.*. To turn on debug logging add this
to configuration.yaml:
logger: default: warning logs: custom_components.zodiac_iaqualink: debug
loggers is registered in manifest.json so HA will recognise it).DataUpdateCoordinator.UpdateFailed, which shows up in the HA UI as
"integration not loading" with the error inline.HomeAssistantError, which HA renders as a red toast in the
frontend.HACS's CI requires the GitHub repo itself to have a few topics set so the integration can be discovered. From the repo's main page on GitHub click the gear icon next to About and add at least these topics:
home-assistant hacs hacs-integration iaqualink zodiac pool heat-pump
Save. The next run of the Validate workflow will pass the topics check.
HACS watches the GitHub releases on this repo. Once installed, when a new release is published HACS shows an Update available badge on the integration card and on the HACS dashboard.
For maintainers, the release flow is:
custom_components/zodiac_iaqualink/manifest.json version.git tag vX.Y.Z && git push origin vX.Y.Z.Release workflow validates that the tag matches the manifest
version, bundles the integration as a zip, and creates the GitHub
Release. HACS picks it up on its next refresh.The Validate workflow runs HACS's own action and Home Assistant's
hassfest on every push and PR, so manifest / structural problems are
caught before they ship.
V71R54 / V71E5). Other Zodiac heat
pumps that report under equipment.hp_0 should work, but are untested.