feat(openclaw,infra): optimize token usage with GLM-5.3-Flash and add Garmin MCP integration

- Migrate OpenClaw primary model to z-ai/glm-5.3-flash across conductor, heartbeat, subagents, and vision
- Configure deepseek-v4.1-flash and qwen3.8-flash as fallback models; retire claude-3.7-sonnet and deepseek-v4-pro
- Decouple heartbeat target to prevent active session context amplification and token bleed
- Add Garmin Connect MCP integration, secret unpacking, and Elite Strength Coach SOUL protocol
- Add ADR 0001 documenting hybrid tool search and subagent architecture
- Update Authentik configuration, theme styles, and Terraform state
- Add Grafana dashboard for Taupi fan monitoring and update Velero secrets
- Bump knowledge-wiki submodule pointer
This commit is contained in:
Moritz Graf
2026-09-13 22:21:17 +02:00
parent 02ad8f0050
commit ea6fa7344d
14 changed files with 648 additions and 196 deletions
@@ -15,7 +15,7 @@ data:
"tags": ["climate", "fan", "cellar", "taupi", "prometheus"],
"timezone": "browser",
"schemaVersion": 41,
"version": 5,
"version": 6,
"refresh": "30s",
"editable": false,
"graphTooltip": 2,
@@ -24,20 +24,7 @@ data:
"to": "now"
},
"templating": {
"list": [
{
"name": "datasource",
"type": "datasource",
"pluginId": "prometheus",
"includeAll": false,
"label": "Prometheus",
"current": {
"selected": true,
"text": "prometheus",
"value": "prometheus"
}
}
]
"list": []
},
"panels": [
{
@@ -50,7 +37,7 @@ data:
"id": 1,
"title": "Fan Power Relay",
"type": "stat",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 4, "w": 4, "x": 0, "y": 1},
"fieldConfig": {
"defaults": {
@@ -75,7 +62,7 @@ data:
"title": "Drying Quality Score",
"description": "Calculated 0-100 score based on Dewpoint Spread. Higher score allows longer continuous ventilation runtime.",
"type": "stat",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 4, "w": 4, "x": 4, "y": 1},
"fieldConfig": {
"defaults": {
@@ -109,7 +96,7 @@ data:
"title": "Dewpoint Drying Spread",
"description": "Indoor Dewpoint − Outdoor Dewpoint. Must be > 2.0°C for drying.",
"type": "stat",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 4, "w": 4, "x": 8, "y": 1},
"fieldConfig": {
"defaults": {
@@ -141,7 +128,7 @@ data:
"title": "Thermal Governor State",
"description": "Thermal operating regime (Warm Cooling, Comfort 14-20°C, Cold Restricted, Frost Floor)",
"type": "stat",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 4, "w": 4, "x": 12, "y": 1},
"fieldConfig": {
"defaults": {
@@ -165,7 +152,7 @@ data:
"title": "Dynamic Max Burst Runtime",
"description": "Dynamic max continuous runtime allowed based on drying quality",
"type": "stat",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 4, "w": 4, "x": 16, "y": 1},
"fieldConfig": {
"defaults": {
@@ -197,7 +184,7 @@ data:
"id": 6,
"title": "Controller Connectivity",
"type": "stat",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 4, "w": 4, "x": 20, "y": 1},
"fieldConfig": {
"defaults": {
@@ -228,7 +215,7 @@ data:
"title": "🎯 Primary Goal: Humidity High ➔ Fan Runs ➔ Humidity Drops",
"description": "Visual validation of cellar drying: When Indoor Humidity rises above target, the orange Fan Active band engages until Indoor Humidity drops back down.",
"type": "timeseries",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 12, "w": 24, "x": 0, "y": 6},
"fieldConfig": {
"defaults": {
@@ -318,7 +305,7 @@ data:
"title": "📊 Full Telemetry Overview (Temperatures, Dewpoints, Humidity & Fan)",
"description": "Comprehensive correlation: Left axis (°C) = Temperatures & Dewpoints. Right axis (%) = Humidity, Setpoint & Mold Limit. Orange shaded band = Fan Relay ON.",
"type": "timeseries",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 13, "w": 24, "x": 0, "y": 19},
"fieldConfig": {
"defaults": {
@@ -451,7 +438,7 @@ data:
"title": "💧 Dew Point Spread (Indoor − Outdoor) — Physical Drying Potential",
"description": "Calculates physical moisture removal capacity. When Spread > 2.0°C (Green zone), outside air is dry enough to absorb moisture from the cellar.",
"type": "timeseries",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 33},
"fieldConfig": {
"defaults": {
@@ -487,7 +474,7 @@ data:
"title": "🌡️ Temperature Delta (Indoor − Outdoor) & Heating Prevention",
"description": "Positive = cellar warmer than outside. Summer heating rule: Fan blocked if Outdoor Temp > 20°C (or > Indoor Temp).",
"type": "timeseries",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 33},
"fieldConfig": {
"defaults": {
@@ -529,7 +516,7 @@ data:
"id": 11,
"title": "🔋 BLU Sensor Batteries",
"type": "gauge",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 7, "w": 12, "x": 0, "y": 42},
"fieldConfig": {
"defaults": {
@@ -560,7 +547,7 @@ data:
"id": 12,
"title": "⏱️ Duty Cycle & Staleness Timers",
"type": "timeseries",
"datasource": {"type": "prometheus", "uid": "${datasource}"},
"datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"h": 7, "w": 12, "x": 12, "y": 42},
"fieldConfig": {
"defaults": {