fix(health): adjust utilization thresholds to match real-world behavior

Updated channel utilization scoring thresholds:
- UTIL_HEALTHY: 15% -> 20% (channel is clear)
- UTIL_CAUTION: 20% -> 25% (slight degradation)
- UTIL_WARNING: 25% -> 35% (severe degradation)
- UTIL_UNHEALTHY: 35% -> 45% (mesh struggling)

Previous thresholds were overly conservative. New values better
reflect actual Meshtastic firmware behavior and when operators
should take action.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
K7ZVX 2026-05-13 22:35:37 +00:00
commit 7de02fb924
4 changed files with 11 additions and 11 deletions

View file

@ -758,11 +758,11 @@ export default function Reference() {
<RefTable
headers={['Estimated Airtime', 'Score', 'What It Means']}
rows={[
['Under 15%', '100', 'Channel is clear — this is the goal'],
['15-20%', '75-100', 'Getting busy, but fine'],
['20-25%', '50-75', 'Congested — firmware starts throttling GPS'],
['25-35%', '25-50', 'Seriously congested — collisions happening'],
['Over 35%', '0-25', 'Channel is overwhelmed'],
['Under 20%', '100', 'Channel is clear — this is the goal'],
['20-25%', '75-100', 'Slight degradation, occasional collisions'],
['25-35%', '50-75', 'Severe degradation — firmware throttling active'],
['35-45%', '25-50', 'Mesh struggling badly — reliability dropping'],
['Over 45%', '0-25', 'Mesh is effectively dead'],
]}
/>
<p>

View file

@ -8,7 +8,7 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
<script type="module" crossorigin src="/assets/index-CmwrG05d.js"></script>
<script type="module" crossorigin src="/assets/index-CYCOCObI.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DbmGQdf0.css">
</head>
<body>

View file

@ -31,10 +31,10 @@ DEFAULT_PACKET_THRESHOLD = 500 # Non-text packets per 24h
DEFAULT_BATTERY_WARNING_PERCENT = 20
# Utilization thresholds (percentage)
UTIL_HEALTHY = 15
UTIL_CAUTION = 20
UTIL_WARNING = 25
UTIL_UNHEALTHY = 35
UTIL_HEALTHY = 20
UTIL_CAUTION = 25
UTIL_WARNING = 35
UTIL_UNHEALTHY = 45
# Pillar weights (5-pillar system)
WEIGHT_INFRASTRUCTURE = 0.30