The tank has a controller, a Raspberry Pi, probes and a camera. That does not mean every routine runs itself.
It is easy to look at a tank with a controller on it and assume everything is handled. This one is partly automated, and the distinctions between the parts matter more than the total.
Scheduled means a device runs on a fixed window without anyone touching it. The lighting photoperiod and CO₂ injection both work this way.
Safety interlocks are hardware limits that hold regardless of what the software is doing: a pH floor, a permitted time window, a leak sensor. They live on the controller, not in Pearl, so a failed script or an unbooted Pi cannot remove them.
Closed-loop means a system reads a value and adjusts itself against a target. Very little here works this way, deliberately.
Manual means I do it. Water changes, fertiliser and every PAR reading are manual, and two of those are unlikely to change.
Monitoring, lighting, top-off, the camera and CO₂ injection run without intervention. Dosing, water changes and PAR measurement are manual. Closed-loop CO₂ and automated dosing are intended and not built.
The dosing gap is the one with a real cost. Fertilisation is not held constant, so light cannot be cleanly isolated as a variable — which is why the PAR work is published as a distribution survey rather than a growth experiment.
Owning the hardware is not the same as having the automation.