Wire specification
The byte-level layouts of Command Protocol v2 payloads are not published on this site. They are provided to integrators under agreement: contact support@splashmepool.com.au with a description of your integration and the controllers you own.
The specification covers:
| Payload | Direction | What it carries |
|---|---|---|
| Envelope | Both | Byte layout, tag algorithm, counter rules and size limits, with test vectors and reference code |
| State frame | Controller → world | Telemetry (temperatures, pH, ORP, flow, power), configuration (equipment slots, chemistry targets, heating, lighting, schedules) and the timer tail |
| Queries and replies | World → controller → world | Auxiliary names, pump identity, the schedule table, recent audit events and the v1 read pass-through |
| Actions | World → controller | Auxiliary switching, time set, schedule edits, the v1 write pass-through and audit-log rewind |
| Audit events | Controller → cloud | The event record, upload batches and acknowledgements |
You do not need the wire specification to use the cloud. Device API v2 exposes the same state, queries, actions and events as typed JSON, and the cloud encodes, signs and decodes every frame for you.
On the LAN you can already discover a controller and fetch its signed state frame; the specification is what lets you verify frames, decode them and build signed requests of your own.

