read telemetry and control equipment on a hayward omnilogic system with the community omnilogic-api library
domain: github.com/djtimca/omnilogic-api · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Install the unofficial omnilogic-api Python package (pip install omnilogic) and authenticate with the same username/password used in the Hayward OmniLogic app
Call get_telemetry_data() to pull water temperature, pump speeds, heater state, and alarms for every registered backyard/body of water
Call set_heater_onoff() and set_heater_temperature() to control heating, passing the MspSystemID, PoolID, and HeaterID from the telemetry response
Call set_pump_speed() (0 for off, 18-100 for variable speed) and set_relay_valve() to control pumps, relays, and valves
Call set_lightshowv2() or set_chlor_params() for ColorLogic lighting or chlorinator/salt output control
Known gotchas
This is a community library calling Hayward's cloud app API, not an officially published or supported API, and Hayward can change it without notice
Nearly every write call requires IDs (MspSystemID, PoolID, equipment ID) pulled from a prior get_telemetry_data() call — you cannot guess them
Cloud-based control depends on Hayward's servers being reachable; it will not work if the pool's OmniLogic hub loses internet connectivity
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?