Usage Reporting
What the device sends to api.poolcontrol.io, what is kept, and how to turn it off.
Why it exists
To see how many devices are in use and which firmware versions they run, each device sends a small anonymous report twice a day. It is on by default and takes one click to turn off.
What the device sends
An HTTPS POST to https://api.poolcontrol.io/v1/usage, containing only:
-
A random install ID, e.g.
9f3a1c0b7e2d4a58. It is made before the first report and kept in flash. It is not derived from the MAC address, serial number or anything else about the hardware. It survives reboots and firmware updates; erasing the flash makes a new one. - The running firmware version, e.g.
1.21.2.
It is sent about 30 seconds after boot, then every 12 hours. A failed report is dropped, not retried, so an unreachable server never affects the device.
What is stored
The server keeps the install ID and version, when that ID was first and last seen, and the country and continent Cloudflare works out from the connection. Nothing finer.
Not collected: anything about your pool, the bus or the device's configuration; IP addresses, city or region, network names or ISP. The server keeps no request logs.
Turning it off
Open the device's update page, http://poolcontrol-AABBCC.local/update, and
untick Participate in anonymous usage reporting. It takes effect
immediately and is remembered across reboots and updates.
The device then asks the server to delete everything it holds for that install, and keeps asking until the server confirms. If the device is offline, that happens once it's back. After that nothing is sent while reporting is off.
The code
Both sides are open source: the server is in
api/,
along with the queries run against the data, and the device side is
main/usage_report.c.