{% extends "base.html" %} {% block title %}{{ title }}{% endblock %} {% block body %} {# Root element carries config as data-attributes for dashboard.js #}
{# ══════════════════════════════════ HEADER — clock + connection badge ══════════════════════════════════ #}
{{ title }}
00:00:00
Verbinde …
{# ══════════════════════════════════ BODY — sensors / chart / log ══════════════════════════════════ #}
{# ── Sensor tiles (one per configured sensor) ── #} {% for s in sensors %}
{{ s.name }}
{%- if s.threshold_low is not none -%} ↓ {{ s.threshold_low }}{{ s.unit }} {%- endif -%} {%- if s.threshold_high is not none -%}   ↑ {{ s.threshold_high }}{{ s.unit }} {%- endif -%}
{% endfor %} {# ── Stat row ── #}
Letzter Wert
Zeilen gesamt
0
empfangen
Fehler
0
Verbindungsabbrüche
Verbindung
{# /stat-row #} {# ── Chart panel ── #}
Verlauf — Kanal 1 (letzte 80 Messpunkte)
{# ── Log + Alerts panel ── #}
Rohdaten
Alerts
Warte auf Daten …
Keine Alerts.
{# /log-panel #}
{# /mirror-body #} {# ══════════════════════════════════ FOOTER ══════════════════════════════════ #}
{# /mirror-layout #}
{# /mirror-root #} {# Keep footer timestamp fresh #} {% endblock %}