Files
wetter_station/frontend/public/ANLEITUNG.html
T
2026-05-07 13:22:16 +02:00

496 lines
17 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Wetterstation Bedienungsanleitung</title>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.7;
color: #1a1a2e;
background: #f5f7fa;
}
/* ── Header ── */
header {
background: linear-gradient(135deg, #1a3a5c 0%, #2d6a9f 100%);
color: #fff;
padding: 3rem 2rem 2.5rem;
text-align: center;
}
header h1 { font-size: 2.2rem; font-weight: 700; letter-spacing: -0.5px; }
header p { margin-top: .5rem; font-size: 1.05rem; opacity: .85; }
/* ── Layout ── */
.page { max-width: 860px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }
/* ── Table of Contents ── */
.toc {
background: #fff;
border: 1px solid #dce3ec;
border-radius: 10px;
padding: 1.4rem 1.8rem;
margin-bottom: 2.5rem;
}
.toc h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; color: #5a6a7a; margin-bottom: .7rem; }
.toc ol { padding-left: 1.4rem; }
.toc li { margin: .25rem 0; }
.toc a { color: #2d6a9f; text-decoration: none; }
.toc a:hover { text-decoration: underline; }
/* ── Sections ── */
section {
background: #fff;
border: 1px solid #dce3ec;
border-radius: 10px;
padding: 1.8rem 2rem;
margin-bottom: 1.8rem;
}
section h2 {
font-size: 1.35rem;
color: #1a3a5c;
border-bottom: 2px solid #e4eaf2;
padding-bottom: .5rem;
margin-bottom: 1.1rem;
}
section h3 {
font-size: 1.05rem;
color: #2d6a9f;
margin: 1.3rem 0 .5rem;
}
p { margin-bottom: .8rem; }
p:last-child { margin-bottom: 0; }
/* ── Buttons visual replicas ── */
.btn-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.btn {
display: inline-block;
padding: .35rem .85rem;
border-radius: 6px;
font-size: .9rem;
font-weight: 600;
border: 2px solid #2d6a9f;
color: #2d6a9f;
background: #fff;
}
.btn.active { background: #2d6a9f; color: #fff; }
/* ── Charts grid preview ── */
.chart-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
gap: .8rem;
margin: 1rem 0;
}
.chart-card {
border: 1px solid #dce3ec;
border-radius: 8px;
padding: .8rem 1rem;
background: #f9fbfd;
}
.chart-card .icon { font-size: 1.4rem; }
.chart-card strong { display: block; margin-top: .3rem; font-size: .92rem; color: #1a3a5c; }
.chart-card span { font-size: .82rem; color: #5a6a7a; }
/* ── Info boxes ── */
.info-box {
background: #eef5ff;
border-left: 4px solid #2d6a9f;
border-radius: 0 6px 6px 0;
padding: .8rem 1.1rem;
margin: 1rem 0;
font-size: .94rem;
}
.tip-box {
background: #f0faf3;
border-left: 4px solid #27ae60;
border-radius: 0 6px 6px 0;
padding: .8rem 1.1rem;
margin: 1rem 0;
font-size: .94rem;
}
.warn-box {
background: #fffbea;
border-left: 4px solid #f0a500;
border-radius: 0 6px 6px 0;
padding: .8rem 1.1rem;
margin: 1rem 0;
font-size: .94rem;
}
/* ── Table ── */
table { width: 100%; border-collapse: collapse; font-size: .93rem; margin: 1rem 0; }
th, td { padding: .55rem .8rem; border: 1px solid #dce3ec; text-align: left; }
th { background: #eef2f8; font-weight: 600; color: #1a3a5c; }
tr:nth-child(even) td { background: #f9fbfd; }
/* ── Trend arrows ── */
.trend-table td:first-child { font-size: 1.1rem; text-align: center; }
/* ── Footer ── */
footer {
text-align: center;
color: #8a9ab0;
font-size: .85rem;
margin-top: 3rem;
}
@media (max-width: 600px) {
header h1 { font-size: 1.6rem; }
.page { padding: 1.2rem 1rem 3rem; }
section { padding: 1.2rem 1.1rem; }
}
@media print {
body { background: #fff; font-size: 12pt; }
header { background: #1a3a5c !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.btn.active { background: #2d6a9f !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
</style>
</head>
<body>
<header>
<h1>🌤️ Wetterstation Bedienungsanleitung</h1>
<p>Dashboard auf Basis einer Davis VantagePro</p>
</header>
<div class="page">
<!-- Table of Contents -->
<nav class="toc">
<h2>Inhalt</h2>
<ol>
<li><a href="#ueberblick">Überblick</a></li>
<li><a href="#zeitraum">Zeitraum-Auswahl</a></li>
<li><a href="#aktuell">Aktuelle Werte</a></li>
<li><a href="#diagramme">Diagramme im Überblick</a></li>
<li><a href="#charts-detail">Diagramme im Detail</a></li>
<li><a href="#tabelle">Tabellenansicht</a></li>
<li><a href="#benutzerdefiniert">Benutzerdefinierter Zeitbereich</a></li>
<li><a href="#refresh">Automatische Aktualisierung</a></li>
<li><a href="#drucken">Drucken</a></li>
<li><a href="#hinweise">Hinweise &amp; Grenzen</a></li>
</ol>
</nav>
<!-- 1 Überblick -->
<section id="ueberblick">
<h2>1. Überblick</h2>
<p>
Das Wetterstation-Dashboard zeigt die Messwerte einer <strong>Davis VantagePro</strong>
in interaktiven Diagrammen an. Alle Daten werden aus einer PostgreSQL-Datenbank
bezogen und im Browser aufbereitet.
</p>
<p>
Die Oberfläche besteht aus drei Bereichen:
</p>
<ol style="padding-left:1.4rem;">
<li><strong>Zeitraum-Navigation</strong> (oben) wählt den dargestellten Zeitraum.</li>
<li><strong>Diagramme / Tabelle</strong> (Mitte) zeigt die Wetterdaten an.</li>
<li><strong>Fußzeile</strong> (unten) zeigt Version, Build-Datum und Kontakt.</li>
</ol>
</section>
<!-- 2 Zeitraum-Auswahl -->
<section id="zeitraum">
<h2>2. Zeitraum-Auswahl</h2>
<p>
In der Navigationsleiste am oberen Rand können Sie den Darstellungszeitraum wählen:
</p>
<div class="btn-row">
<span class="btn active">24 Stunden</span>
<span class="btn">7 Tage</span>
<span class="btn">30 Tage</span>
<span class="btn">365 Tage</span>
<span class="btn">Bereich</span>
<span class="btn">Tabelle</span>
</div>
<table>
<thead>
<tr><th>Schaltfläche</th><th>Dargestellter Zeitraum</th><th>Auflösung</th></tr>
</thead>
<tbody>
<tr><td><strong>24 Stunden</strong></td><td>Letzte 24 Stunden ab jetzt</td><td>Einzelmessungen (~5 min)</td></tr>
<tr><td><strong>7 Tage</strong></td><td>Letzte 7 Tage ab heute</td><td>Tagesmittel / Tages-Min+Max</td></tr>
<tr><td><strong>30 Tage</strong></td><td>Letzte 30 Tage ab heute</td><td>Tagesmittel / Tages-Min+Max</td></tr>
<tr><td><strong>365 Tage</strong></td><td>Letzte 365 Tage ab heute</td><td>Tagesmittel, Regen pro Woche</td></tr>
<tr><td><strong>Bereich</strong></td><td>Frei wählbar (max. 1 Jahr)</td><td>Stundenmittel (&lt; 7 Tage) oder Tagesmittel (≥ 7 Tage)</td></tr>
</tbody>
</table>
<div class="info-box">
Der aktuell aktive Zeitraum wird unterhalb der Navigationsleiste als Text angezeigt,
z.&nbsp;B. <em>„Die letzten 24 Stunden"</em> oder
<em>„01.01.2026 00:00 31.01.2026 23:59"</em>.
</div>
</section>
<!-- 3 Aktuelle Werte -->
<section id="aktuell">
<h2>3. Aktuelle Werte</h2>
<p>
Über jedem Diagramm wird der <strong>aktuellste Messwert</strong> angezeigt
(grauer Hinweistext, z.&nbsp;B. <em>„Aktuell: 18,4 °C"</em>).
Dieser Wert stammt immer aus den letzten 24 Stunden unabhängig vom gewählten
Zeitraum.
</p>
<p>
Unterhalb jedes Diagramms erscheinen die <strong>Minimum- und Maximumwerte</strong>
des gewählten Zeitraums mit dem zugehörigen Zeitpunkt.
</p>
</section>
<!-- 4 Diagramme im Überblick -->
<section id="diagramme">
<h2>4. Diagramme im Überblick</h2>
<div class="chart-grid">
<div class="chart-card">
<div class="icon">🌡️</div>
<strong>Temperatur</strong>
<span>°C</span>
</div>
<div class="chart-card">
<div class="icon">🌐</div>
<strong>Luftdruck</strong>
<span>hPa</span>
</div>
<div class="chart-card">
<div class="icon">💧</div>
<strong>Luftfeuchtigkeit</strong>
<span>%</span>
</div>
<div class="chart-card">
<div class="icon">🌧️</div>
<strong>Regen</strong>
<span>mm / mm/h</span>
</div>
<div class="chart-card">
<div class="icon">🧭</div>
<strong>Windrichtung</strong>
<span>°</span>
</div>
<div class="chart-card">
<div class="icon">💨</div>
<strong>Wind &amp; Böen</strong>
<span>km/h</span>
</div>
</div>
<p>
Alle Diagramme sind interaktiv: Fahren Sie mit der Maus über eine Kurve,
um den genauen Messwert und Zeitpunkt als Tooltip anzuzeigen.
</p>
</section>
<!-- 5 Diagramme im Detail -->
<section id="charts-detail">
<h2>5. Diagramme im Detail</h2>
<h3>🌡️ Temperatur</h3>
<p>
Im <strong>24h-Modus</strong> wird der Temperaturverlauf als Flächendiagramm dargestellt.
Bei längeren Zeiträumen (7 d, 30 d, 365 d, benutzerdefiniert ≥ 7 Tage) werden
<strong>Tages-Minimum und -Maximum</strong> als Band angezeigt, sodass die
tägliche Schwankungsbreite sofort erkennbar ist.
</p>
<h3>🌐 Luftdruck</h3>
<p>
Zeigt den barometrischen Druck in hPa. Im Diagrammtitel erscheint ein
<strong>Trendpfeil</strong>, der die Druckentwicklung der letzten Stunden anzeigt:
</p>
<table class="trend-table">
<thead><tr><th>Pfeil</th><th>Bedeutung</th></tr></thead>
<tbody>
<tr><td>⬇⬇</td><td>Fällt schnell (60)</td></tr>
<tr><td></td><td>Fällt langsam (20)</td></tr>
<tr><td></td><td>Stabil (0)</td></tr>
<tr><td></td><td>Steigt langsam (+20)</td></tr>
<tr><td>⬆⬆</td><td>Steigt schnell (+60)</td></tr>
</tbody>
</table>
<h3>💧 Luftfeuchtigkeit</h3>
<p>Relative Luftfeuchtigkeit in Prozent als Flächendiagramm.</p>
<h3>🌧️ Regen</h3>
<p>
Im <strong>24h-Modus</strong> werden zwei Kurven überlagert:
</p>
<ul style="padding-left:1.4rem; margin-bottom:.8rem;">
<li><strong>Regen (mm)</strong> kumulierter Regenfall als Fläche.</li>
<li><strong>Regenrate (mm/h)</strong> aktuelle Intensität als gestrichelte Linie.</li>
</ul>
<p>
Bei längeren Zeiträumen (7 d, 30 d) wird der <strong>Tagesregen</strong>
als Balkendiagramm dargestellt; bei 365 Tagen der <strong>Wochenregen</strong>.
</p>
<div class="tip-box">
<strong>Tipp:</strong> Im 24h-Modus ist eine Legende eingeblendet,
die Regen und Regenrate unterscheidet.
Klicken Sie auf einen Legendeneintrag, um eine Serie ein- oder auszublenden.
</div>
<h3>🧭 Windrichtung</h3>
<p>
Die Windrichtung wird als <strong>Punktewolke</strong> (Streudiagramm) angezeigt.
Die Y-Achse zeigt die Himmelsrichtungen von 0° bis 360°:
N = 0°/360°, NO = 45°, O = 90°, SO = 135°, S = 180°, SW = 225°, W = 270°, NW = 315°.
</p>
<h3>💨 Wind &amp; Böen</h3>
<p>
Zeigt <strong>Windgeschwindigkeit</strong> (lila) und <strong>Böen</strong> (orange)
in km/h. Bei 365 Tagen und benutzerdefinierten Zeiträumen über einem Jahr
werden Böen ausgeblendet, da keine aussagekräftigen Tagesmaxima vorliegen.
Unterhalb des Diagramms erscheint die maximale Böe des gewählten Zeitraums
mit Zeitpunkt.
</p>
<div class="tip-box">
<strong>Tipp:</strong> Im Wind-Diagramm ist eine Legende eingeblendet,
die Windgeschwindigkeit und Böen unterscheidet.
Klicken Sie auf einen Legendeneintrag, um eine Serie ein- oder auszublenden.
</div>
</section>
<!-- 6 Tabellenansicht -->
<section id="tabelle">
<h2>6. Tabellenansicht</h2>
<p>
Klicken Sie auf die Schaltfläche <span class="btn">Tabelle</span>,
um statt der Diagramme eine <strong>tabellarische Tagesübersicht</strong>
anzuzeigen. Ein Klick auf <span class="btn active">Grafik</span>
kehrt zur Diagrammansicht zurück.
</p>
<p>Die Tabelle enthält je Tag:</p>
<ul style="padding-left:1.4rem; margin-bottom:.8rem;">
<li>Temperatur-Minimum und -Maximum (°C)</li>
<li>Luftfeuchtigkeit-Minimum und -Maximum (%)</li>
<li>Luftdruck-Minimum und -Maximum (hPa)</li>
<li>Regen gesamt (mm)</li>
<li>Maximale Windböe (km/h)</li>
</ul>
<div class="info-box">
Im 24h-Modus werden die vorliegenden Einzelmessungen automatisch
pro Tag aggregiert, sodass immer eine Tageszeile erscheint.
</div>
</section>
<!-- 7 Benutzerdefinierter Zeitbereich -->
<section id="benutzerdefiniert">
<h2>7. Benutzerdefinierter Zeitbereich</h2>
<p>
Mit der Schaltfläche <span class="btn">Bereich</span> öffnet sich ein Dialog,
in dem Sie ein <strong>Start- und Enddatum</strong> frei eingeben können.
</p>
<p><strong>Regeln:</strong></p>
<ul style="padding-left:1.4rem; margin-bottom:.8rem;">
<li>Das Enddatum muss nach dem Startdatum liegen.</li>
<li>Der maximale Zeitraum beträgt <strong>365 Tage</strong>.</li>
</ul>
<p><strong>Darstellungsauflösung:</strong></p>
<ul style="padding-left:1.4rem; margin-bottom:.8rem;">
<li><strong>&lt; 7 Tage:</strong> Stundenmittelwerte, X-Achse mit Datum und Uhrzeit.</li>
<li><strong>≥ 7 Tage:</strong> Tagesmittel- bzw. Min/Max-Werte, X-Achse mit Datum.</li>
</ul>
<p>
Der zuletzt gewählte benutzerdefinierte Zeitbereich wird im Browser
(<code>localStorage</code>) gespeichert und beim nächsten Öffnen des
Dialogs vorausgefüllt.
</p>
<div class="warn-box">
<strong>Hinweis:</strong> Schließen Sie den Dialog mit <em>Abbrechen</em>,
um ohne Änderung zurückzukehren. Ein Klick auf den dunklen Hintergrund
schließt den Dialog ebenfalls.
</div>
</section>
<!-- 8 Automatische Aktualisierung -->
<section id="refresh">
<h2>8. Automatische Aktualisierung</h2>
<p>
Im <strong>24h-Modus</strong> werden die Daten automatisch alle
<strong>5 Minuten</strong> neu geladen. Dabei bleibt die aktuelle
Ansicht sichtbar die Seite flackert nicht.
</p>
<p>
Bei allen anderen Zeiträumen (7 d, 30 d, 365 d, benutzerdefiniert)
findet <strong>kein automatisches Neuladen</strong> statt.
Laden Sie die Seite manuell neu (F5 / ⌘R), um aktuelle Daten
für diese Zeiträume zu erhalten.
</p>
</section>
<!-- 9 Drucken -->
<section id="drucken">
<h2>9. Drucken</h2>
<p>
In der <strong>Tabellenansicht</strong> erscheint oben links die Schaltfläche
<em>🖨️ Drucken</em>. Ein Klick darauf öffnet den Druckdialog des Browsers.
</p>
<p>
Die Schaltflächen-Leiste und der Drucken-Button werden beim Ausdruck
automatisch ausgeblendet, sodass nur die Tabelle erscheint.
</p>
<div class="tip-box">
<strong>Tipp für PDF-Export:</strong> Wählen Sie im Druckdialog
„Als PDF speichern", um die Tabelle als PDF-Datei zu exportieren.
</div>
</section>
<!-- 10 Hinweise & Grenzen -->
<section id="hinweise">
<h2>10. Hinweise &amp; Grenzen</h2>
<table>
<thead><tr><th>Thema</th><th>Details</th></tr></thead>
<tbody>
<tr>
<td><strong>Messsystem</strong></td>
<td>Davis VantagePro Wetterstation</td>
</tr>
<tr>
<td><strong>Datenbank</strong></td>
<td>PostgreSQL, Tabelle <code>weather_data</code></td>
</tr>
<tr>
<td><strong>Messintervall</strong></td>
<td>ca. 5 Minuten (Rohwerte); längere Zeiträume werden serverseitig aggregiert</td>
</tr>
<tr>
<td><strong>Max. Zeitraum</strong></td>
<td>365 Tage bei benutzerdefiniertem Bereich</td>
</tr>
<tr>
<td><strong>Datenlücken</strong></td>
<td>Ausfälle der Station oder des Collectors erscheinen als Unterbrechung in den Kurven</td>
</tr>
<tr>
<td><strong>Browserkompatibilität</strong></td>
<td>Alle modernen Browser (Chrome, Firefox, Safari, Edge) in aktueller Version</td>
</tr>
<tr>
<td><strong>Mobil</strong></td>
<td>Die Oberfläche ist für Mobilgeräte optimiert; Zeitraum-Buttons zeigen Kurzbezeichnungen</td>
</tr>
<tr>
<td><strong>Zeitzone</strong></td>
<td>Alle Zeitangaben in lokaler Browserzeit (keine UTC-Umrechnung)</td>
</tr>
</tbody>
</table>
</section>
</div>
<footer>
<p>Wetterstation Dashboard · Stand: Mai 2026</p>
</footer>
</body>
</html>