LPNA Help

what the map and chart are showing you · renderer v21

How LPNA (Live Power Network Analyzer) works

LPNA is a live power-network console. Stations out in the field send readings to Node-RED, which keeps the current state of every station and logs the history. That single feed drives both panes: the map draws the live picture, the chart draws the same stations over time.

Readings flow one way:

LPNA elementWhat it does
StationReports its position and live power-network status every 250 ms. Each station is locked to the GPS clock and takes all its measurements against it. The core measurement is the phase difference between the mains voltage zero crossing and the GPS reference clock, plus the power-system frequency and the phase rate of change.
Node-REDHolds the current state, aligns it into frames, pushes it to the map over a socket, and writes it to storage.
MapShows the current picture, rebuilt once a second. This is the best way I have found to visualise what the LPNA stations measure.
GrafanaReads stored data — phase rate of change and frequency deviation from 50 Hz — and plots any range you choose.
Map and chart can differ for a second or two. The map is live; the chart refreshes on its own interval. That gap is normal. If they disagree for longer, widen the chart's time window first.

The 2 Hz frame — why the map draws twice a second

Stations do not all report at the same instant. At the moment of writing, three stations stamp their readings on quarter-second marks and two stamp on half-second marks about 1.75 s later. There is therefore no single moment that contains all five, so the map cannot honestly draw "now".

Instead the renderer closes a frame twice per second:

  • It takes the newest station's GPS time as the anchor.
  • Every station contributes its closest sample to that anchor, within a 2-second window.
  • That aligned set is drawn as one picture, then the process repeats one second later.
  • Every station time frame taken into account is based on the GPS time stamp, so that the measurements are synchronized refered to GPS time signal
Current SetupValueMeaning
Map refresh rate0.5 sHow often the map is rebuilt. Samples continue to arrive at 250 ms; they only change the picture twice a second.
Map frame window2 sHow far from the anchor a reading may be and still count as part of this frame. Two seconds because the network runs two clock phases 1.75 s apart.
SkewmsThe worst offset actually accepted in the frame. Printed on the map. A small skew means the frame is a tight snapshot; a large one means some stations are being read up to that far from the anchor.
Skew is a hardware fact, not a map fault. While your stations run two different clock phases, skew will stay near 1.75 s and the two late stations are drawn from a slightly different moment than the other three. Aligning them is a transmitter change distance or network speed, not something the map can fix.

Station layers

Every layer is drawn from the same feed but shows a different quantity. They are independent: switching one off leaves the rest drawn, so you can isolate what you care about.

Stations InfoIdentifies the CPU ID and the common status of each station: how many satellites it can see, the GPS time, and whether the mains is leading or lagging the GPS clock. LPNA Stations Info
Stations measurementsThe measured values, and the frame summary line. Each station shows its phase, its phase rate of change, and how far that rate sits from the field mean. LPNA Stations measurements
Stations PhaseThe mains phase at each station, drawn as a black arrow rotating 0–360° — a compass needle for phase. Its length equals the station's ring radius, so the tip always rests on the ring. LPNA Stations Phase
Stations Phase rocRate of change of phase. Drawn as a circle whose radius is how far this station's rate differs from the others, and whose colour is the same difference: blue = slower than the field, grey = on the field mean, red = faster. The old red/green/blue (power needed / balanced / excess) colouring belongs to the previous version. LPNA Stations Phase roc(Rate Of Change)
Station Wave PairsLines between stations in the same frame, drawn from the higher rate of change to the lower one. Thickness follows the size of the difference. Together these lines show the gradient the disturbance is travelling along. LPNA Station Wave Pairs
Station Wave Polygon and WindExperimental layers from earlier versions. They are not part of the current renderer and may draw nothing. LPNA Station Wave Polygon / Wind

Each layer is toggled from the map itself. Turn Info on first if you need to identify a station before reading its measurements — the other layers show values, not names.

Reading a station on the map

Each station in the frame draws three things. Together they answer three separate questions.

ElementQuestion it answers
Black arrowWhere is the phase? The heading is the station's mains phase, 0–360°. Its length is the ring radius, so the tip touches the ring.
Ring radiusHow far is this station's rate from the others? Bigger ring = bigger deviation from the field mean. Scaled so 10 °/s is full size, with a 60 km floor so a near-flat station still shows.
Ring colourIn which direction? Blue = this station turns slower than the field, grey = on the field mean, red = turns faster.
LabelCPU ID, phase, phase rate of change, the deviation from the field, the GPS time and the sample offset. Full breakdown below.
Phase is drawn as a direction only. It is never averaged and never compared between stations, because a station's phase offset also depends on how its unit is plugged into the power socket. The rate of change has no such dependency, so all the comparison on the map uses rate.

Colour scale

ColourMeaning
Deep blueThis station is well below the field — its phase is turning slower than its neighbours.
Pale blueSlightly slower than the field.
GreyOn the field mean — this station matches the others.
OrangeSlightly faster than the field.
RedWell above the field — turning faster than its neighbours.

The scale is symmetric: the value that paints fully red is the same size as the value that paints fully blue (currently 10 °/s).

What the text on the map says

The station label

One label per station in the frame, placed just above its position:

ID:DC5475D60ADC Ø132° Øroc +137.1 <field 3.42 t=22:02:46.500 dt=250ms

FieldMeaning
ID:(DC5475D60ADC)The station's CPU ID — the same identifier the firmware reports and the one used in the Grafana chart.
ΔF:(-22mHz)The station's power system frequency deviation in [mHz] compared to the GPS reference fundamental 50Hz frequency clock
Ø(132°)The mains phase at this station, in degrees, against the GPS clock.
Øroc (+137.1)The phase rate of change, in degrees per second. The sign tells you the direction the phase is moving.
<field (3.42)How far this station's phase rate of change sits from the mean of the other stations in the frame. >field means it is above the mean, <field below it. This is the number the station ring size and colour are built from.
Say the five stations report Øroc of +137.1, +140.0, +134.5, +138.2, +136.0. The mean is about +137.2. Then:Station Øroc Its deviation Printed as (A +137.1 −0.1 <field 0.10) , (B +140.0 +2.8 >field 2.80), (C +134.5 −2.7 <field 2.70).
Station B is turning faster than the rest of the network, C slower. Why it matters? That deviation is the single number the whole visualisation is built on. It sets:
the ring radius — bigger ring = bigger deviation
the ring colour — blue if below the field, red if above, grey if on it
the line directions to other stations
the entry for that station in the frame label
So the label text is telling you, in words, the same thing the ring is telling you in size and colour.
t=(22:02:46.500)The GPS timestamp of the reading used for this station in this frame.
dt=(250ms)How far that reading sits from the frame anchor. Smaller is better; large values mean this station's sample came from a different moment than the anchor.

The frame label

One label for the whole picture, below the cluster of stations:

WAVE FRAME t=22:02:46.500 n=5/5 skew≤1750ms mean Øroc +12.40°/s followed by every station's ID:... rate >f deviation.

FieldMeaning
t=The frame anchor time — the GPS instant this picture represents.
n=5/5How many stations made it into the frame, out of how many are being tracked. 4/5 means one station had no reading close enough to the anchor and is missing from this picture.
skew≤The worst offset any station in this frame had to accept, in milliseconds. See the frame section above.
mean ØrocThe mean rate of change across the frame. This is the field reference every deviation is measured against.
If a station drops out of the frame, its n count falls and its markers disappear until it reports a reading close enough to the anchor again. Its ring and arrow vanish with it — check Stations Info to confirm the station itself is still reporting.

Wave pairs

Station Wave Pairs is the one layer that is about two stations rather than one. Each line links two stations in the same frame and describes the rate gradient between them.

  • Direction — the line is always drawn from the station with the higher rate of change to the station with the lower one, with an arrowhead at the slower end. It shows where the network is turning faster than where it is turning slower.
  • Thickness — how big that difference is. A heavy line is a steep gradient; a thin one is almost none.
  • Colour — the same gradient ramp, so a line into a red station reads as a step up and a line into a blue station as a step down.
  • A line appearing or disappearing means the two stations were in the same frame or not — not that either station stopped reporting.
Why rate and not phase. Phase difference between two stations includes the effect of how each unit is wired into its socket. Rate of change does not, so a rate gradient is the honest signal for wave direction. This is the main change from earlier versions, which matched pairs on phase.

Map buttons

ControlWhat it does
ZoomMouse wheel or the + / − buttons. Rings and arrows are drawn in metres and scale with zoom, so zooming out keeps the whole cluster readable.
PanClick and drag the map. Double-click to zoom in on that point.
Layer togglesSwitch the station layers on and off individually — see above.
BasemapSwitches between street and satellite backgrounds. It changes only what is underneath; station data is unaffected.
FullscreenExpands the map to the whole browser window. Press Esc to leave it.
Scale / attributionBottom corner. The scale bar shows distance at the current zoom — useful for judging ring size.

History on the map

History lets you look at a past period instead of the live picture, and each connected user has their own independent replay.

  • History loads a stored range for you alone; other users stay live.
  • Earlier / Later step the loaded range backwards or forwards.
  • Pause/Play stops and restarts the replay.
  • Slower / Faster changes the replay speed.
  • Live returns you to the current picture.
  • Right-click the map to type an exact start and end time. Your last choice is remembered and prefilled next time.

History is capped at a two-hour window per load. While a replay is running the map is a recording, not live — new readings keep arriving but are not drawn until you go back to Live.

The frame model applies to history too. A replay redraws through the same 2 Hz frame logic, so what you see while replaying follows the same alignment rules as the live picture.

The Grafana chart

The chart pane plots the same stations from stored history rather than the live feed.

What it plots

  • Time along the bottom, in your browser's timezone.
  • The value up the side — phase rate of change, and frequency deviation from 50 Hz.
  • One line per series, so you can compare stations against each other or against a threshold.
  • Refresh on a short interval, so the right-hand edge keeps up with now.

Reading it

  • A gap is missing data, not a zero.
  • A flat line is a station reporting an unchanged value.
  • A step is a real change between two readings.
  • The chart is per station. The map's field-mean comparison is a network-wide calculation and has no single line on the chart.

Hovering a line shows the exact value and time. Use the panel's time picker to set the range — the default window is short, so widen it for anything historical.

The pane goes blank if Grafana refuses to be embedded. That needs allow_embedding = true in grafana.ini; nothing on this page can override it.

If something is off

The map has no stations

  • No station has reported yet in this session.
  • The map's socket dropped after loading — reload the page to reconnect.
  • A layer you need is switched off.
  • The renderer's output is not wired to the map node — only one renderer should feed the map.

Only some stations appear

  • They are outside the current frame: their newest reading is more than 2 s from the anchor. The n= count on the frame label tells you how many made it.
  • They have stopped reporting — check Stations Info.

Everything is one colour

  • All stations sitting at full red or full blue means their differences exceed the colour scale. Everything grey means they are closer together than the scale. The scale is a single setting; the frame label prints each station's deviation so you can see which it is.

The chart is stale or empty

  • The time window is pinned to a fixed range instead of a relative one.
  • The refresh interval is longer than you expect.
  • Storage has no rows for that station in that range.

The panes disagree

  • Expected within a refresh interval. Beyond that, check the chart's time range before assuming a fault.