by Addium
Wirepas network bug report · POWRHOUSE · 2026-06-25

POWRHOUSE · Wirepas Network Bug Report

Internal procurement-justification write-up: structural Wirepas mesh saturation at facility 3754, the per-gateway 14-slot budget breach driving latency and data gaps, and the case for shipping six H130 low-latency repeaters to restore mesh headroom.

Bug IDPOWR-WIREPAS-2026-06-25
FacilityPOWRHOUSE (3754) · Sacramento, CA
SeverityP1 — Network saturation
ComponentWirepas mesh topology
Filed byCian Sullivan · Addium
Filed2026-06-25

1 · Summary

POWRHOUSE (facility 3754) is structurally saturated across all four gateway sinks against the Wirepas 14-slot direct-child ceiling. At the morning peak, two of the four sinks were over the limit (worst at 17/14) and the other two were pinned at the 14/14 ceiling with zero headroom. By the afternoon refresh, one sink remained over (16/14) and three were at 14/14. Four excess children at peak, two by the refresh — every gateway is at-or-over the slot budget, so over-subscribed children have nowhere to roll into and self-healing is structurally disabled. The over-budget condition is producing the latency, retry, and data-gap pattern operators see. Adding six H130 low-latency repeaters creates 84 new direct-child slots (6 × 14), drops the over-budget sinks back under the 14-slot ceiling, restores ~55% fleet-growth headroom, and removes the routing pressure that is driving the gap rate today.

2 · Facility identity

CustomerPOWRHOUSE
AROYA Facility ID3754
AROYA Org ID2857
LocationSacramento, CA
Unique radios153 (refresh) · 152 (morning)
Raw serials274 (refresh) · 273 (morning) — pre dash-2 dedup
Gateways4 of 4 online
Online radios146 (95.4%)

Supporting telemetry (live, auto-refreshing per gateway sink/child counts, RSSI, link quality, battery, per-room device tables):
POWRHOUSE · Wirepas Mesh & Device Health · 2026-06-24 (refresh commit 65f5da5).

3 · Observed network issues

Quantified from today's mesh audit and the morning → afternoon refresh delta:

Gateway sinks at or over the 14-child slot ceiling (4 of 4)

Gateway sinkChildren (morning)Children (refresh)Refresh stateDownstream tree
H210000467617 / 14 (+3)16 / 14 (+2)🔴🔴 over-subscribed26 routing (22 online)
H210000524214 / 14 (limit)14 / 14 (limit)🔴 at limit · zero headroom36 routing (34 online)
H210000524614 / 14 (limit)14 / 14 (limit)🔴 at limit · zero headroom53 routing (52 online)
H220000103315 / 14 (+1)14 / 14 (limit)🔴 at limit · zero headroom34 routing (34 online)

At morning peak, two of four sinks were over the 14-slot ceiling and the other two were pinned at exactly 14/14. By the afternoon refresh, one sink remained over (H2100004676 at 16/14) and the other three were sitting on the 14-slot ceiling with zero headroom. Pressure didn't dissipate — it redistributed. There is nowhere clean for any future child to migrate to anywhere on this mesh.

Excess children fleet-wide (morning → refresh)

4 → 2
Excess children
over the 14-slot budget
3 / 4
Sinks at-limit
pinned at 14/14 with zero headroom
6
Offline radios (morning cohort)
+ 1 new-offline by refresh

Saturation is barely being eased by partial natural rebalancing. The underlying topology is structurally over-subscribed; routing pressure simply moves between gateways as children retry into whichever sink looks marginally better. Three of four sinks are pinned at the 14-slot ceiling with zero headroom — any future device add or any child re-parenting away from H2100004676 lands on a parent that is already full. Self-healing has nowhere to go.

Refresh-delta offline cohort

Six radios were silent in the morning snapshot (H3310009633, H3440005758, H4210002601, H4210002602, H4210002607, H4210002620, plus the persistent H8100001475 zero-battery puck). The refresh added one additional new-offline radio — denominator effect only (online% drifted 96.1% → 95.4% because of one new radio joining, not because more devices dropped).

4 · Root cause 14-child slot ceiling + topology over-subscription

Wirepas mesh constraint: every parent node — gateway sink or mid-layer relay — supports at most 14 DIRECT children. The slot allocation is fixed at the protocol level. Children that don't get a slot are either dropped from the mesh, pushed up to a higher-hop parent (introducing latency), or retry-storm into the contention window competing for slots that don't exist. Grandchildren count against their immediate parent, NOT the grandparent — saturation can only be relieved at the layer where the budget is breached.

At POWRHOUSE every gateway sink is currently at or over this ceiling. The mesh has nowhere to rebalance to because the four gateways are all already maxed out — when a child re-parents off the worst sink, it lands on another sink that is at exactly 14/14. The morning → afternoon refresh shows this directly: H2200001033 absorbed 10 additional downstream nodes (route_total 24 → 34) that re-routed off H2100004676 and H2100005246, but H2200001033 stayed at exactly 14 children — pinned at the 14-slot ceiling. The pressure didn't dissipate; it just redistributed against a fixed cap.

5 · Direct cause-and-effect on network performance

SymptomMechanism
LatencyHop count rises as the lowest-RSSI children of saturated sinks fall back to multi-hop routes through mid-layer relays — every additional hop adds one Wirepas frame interval to the round trip.
Retry rateChildren at saturated parents retry transmissions more often when the local slot is contended; airtime gets consumed by retransmissions instead of fresh data, and battery on Li-SOCl₂ Nodes drains faster than the 5-year nominal lifetime.
Data gapsExtended retries push transmissions past the next scheduled sampling window. The operator-visible artifact is a 5–15 min gap in the sensor stream — exactly the pattern that's been showing up at this facility.
Self-healing capacityWirepas auto-roll requires a neighbor with headroom. Every gateway sink at POWRHOUSE is currently at-or-over the limit — there is no slot to roll INTO. Self-healing is structurally disabled until headroom is created.

6 · Remediation add 6 H130 low-latency repeaters

Adding six H130 repeaters as new mid-layer parents creates 6 × 14 = 84 new direct-child slots in the mesh. Distributed strategically, these absorb the over-budget children from the saturated sink, take pressure off the three sinks pinned at 14/14, and leave substantial headroom for fleet growth and routine churn.

Expected post-deploy state

2 → 0
Sinks over 14
All gateways back ≤14/14 (peak basis)
3 → ≤1
Sinks pinned at 14/14
Headroom restored on existing gateways
−30%+
Hop-1 latency
On rebalanced children · within 24h
~80
Residual headroom
Unfilled slots post-deploy · ~55% fleet-growth runway

Quantified outcome:

7 · Physical placement plan draft — confirm with onsite team

The audit topology has gateway sinks anchoring each of the major POWR cultivation zones. The proposed distribution targets the saturated sinks and known weak-coverage zones:

QtyZoneAnchor / targetRationale
2POWR 1Near sink H2100005246 (53-device tree, largest sub-tree at facility) and relay H3440005755Largest downstream tree at the facility — the H3440005755 relay was carrying heavy hop-2+ load in the morning snapshot (raw 21/14 pre-dedup). Two new parents here split that load and pull the H2100005246 sink off the 14/14 ceiling.
2POWR 3Near sink H2200001033 and relay H3440005760H2200001033 absorbed 10 additional downstream nodes between the morning and afternoon snapshots and is now pinned at 14/14 — this gateway is the routing fallback target for two saturated neighbors. Two new parents stabilise it and open headroom for further rebalance.
1POWR 2Mid-zone, between sinks H2100005242 and H2200001033POWR 2 currently has 24 devices, all online but routing through three different sinks — one mid-zone H130 collapses that into a clean local parent.
1Inter-gateway dead zoneWalk-down required — confirm location with onsite teamTelemetry map (live audit · telemetry map) shows weak-coverage envelope between gateway clusters. AROYA does not expose physical coordinates at this facility (lat/lng/what3words = null on every device), so the exact placement needs an onsite radio walk-down.

The fourth placement (inter-gateway dead zone) is the open item that needs onsite confirmation. The first five are determinable from the current mesh telemetry.

8 · Supporting telemetry live audit

All per-room device tables, per-gateway saturation panels, mesh topology tree, telemetry map, and the full prioritized remediation plan are in the live mesh health report — refreshed today, commit 65f5da5:

POWRHOUSE · Wirepas Mesh & Device Health · 2026-06-24

Per-room device tables (POWR 1 · 35 dev, POWR 2 · 24 dev, POWR 3 · 36 dev, POWR 4 · 17 dev, Veg Room · 15 dev, plus Cure / Dry / Vault and unassigned infrastructure) are not restated here — refer to the live audit for the device-level breakdown.