Health
How Lightpath watches your devices, processes and machines, what the states mean, and where each thing's health settings live.
The Health page is the one place that answers "is the install OK right now?". It runs a fixed set of checks. Each check covers individual things: every device, every value a device or TouchDesigner reports, every process, every machine. One failing thing is a problem, and the page names it.
The checks
| Check | What it covers |
|---|---|
| Devices online | Every enabled device. Each device unit is its own entry. |
| Values | Every status or control that has a healthy range, on devices and in TouchDesigner. |
| Processes running | Every process, including TouchDesigner and Streaming. TouchDesigner is listed first. |
| Machines online | Every machine in a multi-machine install. |
| Machine performance | CPU, memory and GPU on each machine. |
| Actions working | Every action that has run, judged by its last run. |
| Public URL online | The remote-access tunnel, when one is configured. |
| Manual checks | Questions a person answers, such as "Projection mapping correct?". |
You cannot add or remove the built-in checks. New devices, processes and machines are monitored as soon as they exist. There is nothing to seed and nothing to keep in sync.
The states
| State | Means | Pages someone? |
|---|---|---|
| OK | Everything the check covers passed. | Only when it recovers from a problem |
| Warning | A value is outside its healthy range but inside its warning range, or Lightpath cannot tell. | Only when the check's Alert on warnings is on |
| Problem | At least one thing failed. The entry names it. | Yes |
| Needs input | A manual check nobody has answered. | No |
A Warning reads with its reason. A value outside its healthy range but inside its warning range is one; so is a reading that has gone stale ("No reading for 18 min"), a control the protocol cannot read back, and a thing whose Saved Condition has no current answer. Warnings do not page unless the check's Alert on warnings is on.
Some things are not checked at all, and the page does not list them: a device whose "online when" is Never or whose window is closed, a disabled integration, a value the device says it cannot give right now, and the values of a device that is offline (the device's own Problem covers them). The Config tab still shows each setting. A check whose things are all waiting for their first reading shows a spinner until one arrives. Machine CPU and memory ship with a warning band (healthy up to 85 and 80 percent, warning up to 95 and 90), and TouchDesigner's frame rate warns from 90 percent of target down to 75.
Where health settings live
Each thing carries its own settings, set where you configure it.
- A device: open it from Integrations and use its Monitor tab.
- Online when is Always, Never, or a Saved Condition. Choose Never for a device that is allowed to be absent, such as a spare projector.
- Below it, every status and every control the protocol can read back is listed, with its current value, Problem when, Warning when and Monitored when. The power control is first. Set Problem when to Off and Monitored when to a show-hours condition, and the device is expected to be powered during the show and left alone outside it.
- A number is a problem above one value, below another, or both ("below 20 or above 80 °C"). Warning when takes a threshold between OK and the problem threshold, so "problem above 80, warning above 70" reads Warning from 70 and Problem from 80; Lightpath refuses a warning threshold outside that range. A text or list value is a problem when it is one of or is not one of the values you pick. A toggle is a problem when it is On or Off.
- Some integrations ship a default, such as the PJLink error code, shown greyed with "(default)". Setting your own replaces it; Clear brings it back.
- A process: its Monitor tab asks when it should be running. The TouchDesigner entry also lists its frame rate, GPU memory and show clock, and any parameter a TouchDesigner component publishes on a page named Status.
- A machine: the Machines page has a Monitoring section on each machine's card, the same table as a device's Monitor tab, with its CPU load, memory used, GPU load and GPU VRAM used. CPU and memory come with defaults, shown greyed; GPU load and VRAM read "Set…" and are monitored once you set a Problem when threshold.
- A check: on the Health page, each check's settings (whether it alerts, whether warnings alert, its grace period, its cooldown, and its remediation steps) open from the row.
The Health page's Config tab edits the same settings in bulk, one table each for devices, processes and machines. A device's or a machine's Values cell counts how many of its readings are monitored and opens the same editor the Monitor tab or the machine card uses, with a device's readings tagged status or control.
Selecting a group of devices on the Monitor tab and changing a setting writes that setting onto every device in the group. Groups only display and select devices; they carry no health settings of their own. Duplicating a device, using Copy from, or adding a device to an existing group copies the health settings along with the rest of the configuration.
Saved Conditions
A Saved Condition is a reusable "when", such as Showtime (a time window) or Doors open (a device's status). Any "online when", "monitored when" or "running when" can name one. When the condition is false the thing is not checked and leaves the page; when the condition has no current answer, for example because it refers to a device nobody has probed, the thing reads Warning with the reason "Showtime condition can't be evaluated".
Lightpath refuses to save a Saved Condition that refers back to itself through other conditions, and names the loop.
A Device value condition is true while one device's status or control reading sits inside the range you give it, the same form as Healthy when. Pick the device, then the value: its power control is listed first, so "projector powered on" is two picks. A control Lightpath cannot read back is listed but cannot be chosen, with the reason. While there is no current reading, the condition has no answer and anything it gates reads Warning.
Alerts
A thing going Problem sends one alert that names it, after the check's grace period, and no more than once per cooldown. When it recovers, the people who were told about the problem are told it is back, with how long it was down. A device that is offline is one problem under Devices online; its values are not checked rather than failing too, so one dead box is one alert.
Silence alerts, in the Health page header, stops notifications for 1 hour, 4 hours, until tomorrow 08:00, or until you turn it back on, with an optional reason. Health keeps evaluating and the page keeps showing state; a banner says who silenced alerts and until when, with Resume now. When the silence ends, one summary alert lists everything still failing.
Recipients and the master alert switch are on Settings → Alerts.
History
The Health page's History tab lists what happened to each thing, newest first: it went Problem or Warning, an alert was sent ("alert sent to 2 contacts") or held back and why ("alert not sent: alerts are silenced", "no contacts"), it recovered. A silence is one row, "alerts silenced by kyle, 11:26 to 12:26 (Maintenance)", which gains "resumed early by ops" if someone resumes it before then. Filter by check, by device, or by what happened, and click an entry to open its thing on the Status tab. When two things share a name, their group is shown beside it. The tab keeps the newest 1,000 entries. The alert log that used to live under Settings → Alerts is this tab.
Manual checks
A manual check is a question for a person. It reads Needs input until someone answers it with Pass or Fail, and Reset all clears every answer before a show. Add one from the Health page.
Troubleshooting
Each entry on the Health page links to the place its settings live. A check can carry remediation steps, such as an action to run or a process to restart, and a step can run on its own the moment something goes wrong.
If a value reads Warning: can't be read back, the protocol has no way to confirm the control's state, so Lightpath will not judge it against the last command it sent. If a check keeps its spinner for more than a few minutes, check that the integration is enabled and the device has an address.

