PowerWatch

Absence-of-heartbeat monitoring for battery-less industrial devices

What this system can and cannot tell you

Reduced guarantees: Running on a serverless platform, where no in-process timer survives between invocations. Detection is driven externally by GET /api/cron/detect - if nothing is calling it on a schedule, nothing is being monitored. See docs/DEPLOYMENT.md.
The narrative layer is running in deterministic mode: no Anthropic credentials are configured, so explanations come from the built-in scoring engine rather than a language model. Detection and alerting are unaffected — they never depend on it.

Service level (last 24 hours)

Heartbeat success rate
100.000%
9 of 9 expected · objective 99.9%
Error budget remaining
100%
Mean time to detect
622.6s
2 samples — too few to be meaningful
Outages detected
5
all alerts delivered
DISCONNECTED · this board is not updating
The live event stream is disconnected. Device states shown below were last confirmed 0 seconds ago and should not be treated as current.
Devices online
0/4
Open outages
0
no devices at outage threshold
Degraded / warning
0
Heartbeat success
100.00%
SLO 99.9%
State store
redis+postgres

Devices

Plant A - Line 2 Distribution

PLANT-A · pw-plant-a-line2
OUTAGE
Last seen
1h 4m ago
Interval
9.0s obs → 15s used (clamped)
Success
100.00%
Seq gaps
0
Clock skew
559ms
Risk score unavailable — only 7 samples collected (12 needed).

Plant A - Main Switchboard

PLANT-A · pw-plant-a-main
NEVER SEEN
Last seen
never
Interval
30s nominal
Success
100.00%
Seq gaps
0
Clock skew
No latency samples yet
Risk score unavailable — only 0 samples collected (12 needed).

Plant B - Cold Store (sole monitor)

PLANT-B · pw-plant-b-cold
NEVER SEEN
Last seen
never
Interval
30s nominal
Success
100.00%
Seq gaps
0
Clock skew
No latency samples yet
Risk score unavailable — only 0 samples collected (12 needed).

Plant B - Pump House (60s cadence)

PLANT-B · pw-plant-b-pump
NEVER SEEN
Last seen
never
Interval
60s nominal
Success
100.00%
Seq gaps
0
Clock skew
No latency samples yet
Risk score unavailable — only 0 samples collected (12 needed).

Event stream (black box)

No events yet. Heartbeats, state changes, sequence gaps and alert dispatches appear here as they are appended to the log.