How it works
The differences show up on the bad days
Every controller reads the same probes. What separates them is where the decisions are made, what happens when the link between the parts fails, and how something gets permission to touch your tank in the first place.
Lighthouse Mode
Runs without the networkWhen the network is part of how a tank stays alive, the router is a single point of failure. Tank Nodes are built the other way: hard limits live on the node itself, stay enforced when WiFi drops, and stay enforced even when you pause everything else. A beacon on every screen tells you which state you are in without hunting through menus.
Tank Nodes
Sensing where the water isProbes report to small nodes near the water instead of running long analog cable back to a single box. Each node carries a fixed hardware ID alongside a name you choose, so calibration history and alerts stay attached to the right physical unit through renames and resets. A replacement board is a new unit with a new ID, and the controller offers to carry the old one's record across.
Hand testing stays hand testing
Some things already workReefers have been counting drops and watching for the color turn for decades, and it still works. A syringe and a vial do not drift, do not clog and have never needed a firmware update. So the first release is built around the test kit you already own: a hand result goes into the same record as the probe data and carries the same history, instead of living in a notebook.
Sump level, measured
A number, not a float switchAlmost everything sold as a level sensor is a switch. Optical or float, it knows one thing: is there water at this exact spot, yes or no. That is the right part for running a top-off and the wrong part for understanding a system, because it is blind between the points. You find out about a leak at the moment the water falls past a line somebody chose, and you never see it on the way down.
A node reads the distance to the surface instead, continuously, and keeps it. Level becomes a parameter with a history behind it, the same as temperature or pH, and the shape of that history is the information. A steady fall across the day is evaporation. A fall that keeps going after the top-off has run is a leak or a pump. A fall that runs past the top-off's own trigger without stopping is a top-off that has quietly stopped working. None of those are visible to a switch, and all three are the same reading looked at over time.
It reads from above the water, so there is nothing submerged to foul or calcify. What is still being tested is the hard part: whether it reads reliably under a closed lid with condensation forming on it. That gets tested on the test tank, and this page gets the answer either way.
Nothing joins your system without someone touching it
Radio range is not ownership. In a shop, a strip mall or an apartment block, a neighbor's node is in range and announces itself exactly like yours. So adoption is never automatic, and it can never be done from a screen.
Tapping a button on your controller would only prove that you authorized something, not which box you authorized. The likelier accident is not a neighbor reaching into your system. It is you adopting theirs because two unclaimed nodes were in range. Only a touch at the unit can tell those apart.
Two ways to build a controller
Not a feature count. These are the design decisions that change what happens on a bad night.
Wider than the screen — drag it sideways.
| The usual architecture | Pharos Pods | |
|---|---|---|
| Where the intelligence lives | One controller is the brain. Modules report to it and wait for instructions. | Every node holds its own safety limits. The controller coordinates. It is not the only thing keeping the tank alive. |
| If the link to the controller fails | Protection depends on that one box and the run back to it. Lose either and the modules are idle. | Nodes fall back to their last known limits and carry on alone. A beacon on every screen says which state you are in. |
| Adding a device | Pair it from an app. Whatever is in range can usually be claimed from a screen. | Nothing joins from a screen. A three-second touch on the node itself, inside a thirty-second window, or it does not join. |
| Replacing failed hardware | A new unit is a new record. History, calibration and alert rules are left behind with the dead one. | A node's record — its name, calibration history and alert rules — is bound to the hardware ID of the board it runs on, so renaming it changes the label and nothing else. When a new node turns up where the dead one was, the controller says so and offers to move that record onto it, so the trend does not restart at the swap. |
| Probe placement | Long analog runs from the water back to a single enclosure. | Sensing happens at the water. Short runs, and the node nearest the probe is the one enforcing its limit. |
Every color has a job
Each one is named by what it does rather than where it sits — the one that means approaching a limit, the one that means act now. A panel at the top shows the change on a working dashboard before you apply it, so you are judging an alert color against an actual alert rather than against a swatch. Three presets to start from, or set every one yourself, and a theme exports as a file so the next screen starts where this one ended.
