Doku: Rollup-Job mit Pfad und Betriebsarten nachgetragen
Liegt in ~/Backup-scripts/solarlog-rollup.sh. Dazu die Eigenschaften der Rohdaten, die man beim Rechnen kennen muss (Momentanleistungen, gemischte Einheiten und Vorzeichen). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+26
-1
@@ -134,6 +134,31 @@ Wichtig beim Auswerten:
|
||||
Verbindung zur OpenDTU verliert: Senken sind dann vollständig gemessen, die
|
||||
Erzeugung nicht — ohne die Korrektur wird der Direktverbrauch negativ.
|
||||
|
||||
### Der Rollup-Job
|
||||
|
||||
`~/Backup-scripts/solarlog-rollup.sh` (Schema dazu:
|
||||
`solarlog-rollup.sql`) hat drei Betriebsarten:
|
||||
|
||||
| Aufruf | Was er tut |
|
||||
|---|---|
|
||||
| `fill [--from … --to …]` | Stunden- und Tageswerte fortschreiben. Idempotent (`INSERT … ON DUPLICATE KEY UPDATE`), darf jederzeit wiederholt werden |
|
||||
| `thin [--dry-run] [--months 12]` | Rohdaten älter als zwölf Monate ausdünnen — **nur**, wenn für den Monat ein Aggregat vorliegt. Vorher wird der betroffene Zeitraum monatsweise nach `/volume1/docker/solarLog_history` weggesichert |
|
||||
| `status` | zeigt, bis wohin aggregiert und ab wann ausgedünnt ist |
|
||||
|
||||
Ausgedünnt werden `EnergyFlow`, `Heater` und `weatherStation`; das Zielraster
|
||||
beträgt 15 Minuten. Was man beim Rechnen auf den Rohdaten wissen muss, steht
|
||||
ausführlich im Kopf der SQL-Datei — die wichtigsten Punkte:
|
||||
|
||||
* **Alles sind Momentanleistungen**, gemittelt über rund fünf Minuten. kWh
|
||||
entstehen nur durch Integration über die Zeit, nie durch Mittelwerte über
|
||||
Zeilen.
|
||||
* **Die Einheiten sind gemischt:** die Wallbox-Spalten liefern Kilowatt, alle
|
||||
übrigen Leistungsspalten Watt.
|
||||
* **Die Vorzeichen sind es auch:** `totalConsumption` negativ = Hausverbrauch,
|
||||
`battP` negativ = Laden, und `PL*_OG` kommt negativ, während `PL*_EG` und
|
||||
`PL*_UG` positiv sind.
|
||||
* Messlücken über 15 Minuten zählen nicht als durchgehende Leistung.
|
||||
|
||||
Die Preistabellen tragen **einen Stichtag und kein Enddatum**; das Ende holt
|
||||
sich die Auswertung mit `LEAD()` beim nächsten Eintrag. Weil ein Stichtag ein
|
||||
Datum ist, kann ein Tag nie zwei Tarife haben — die Verdichtung auf Tage
|
||||
@@ -166,7 +191,7 @@ Oberfläche Geräte über den Server statt direkt.
|
||||
|
||||
| Aufgabe | Wer | Takt |
|
||||
|---|---|---|
|
||||
| Rohdaten ausdünnen, Stundenarchiv und Tageswerte fortschreiben | Rollup-Job auf der NAS (`solarlog-rollup.sh`) | nachts |
|
||||
| Rohdaten ausdünnen, Stundenarchiv und Tageswerte fortschreiben | `~/Backup-scripts/solarlog-rollup.sh` (läuft als root im MariaDB-Container) | nachts |
|
||||
| `automation_log` aufräumen | Runner selbst | täglich, 30 Tage Aufbewahrung |
|
||||
| `calendar_days` füllen | `fetch_calendar.py` | jährlich per Cron |
|
||||
| Datenbanksicherung | `backupDB.sh` | per Cron |
|
||||
|
||||
Reference in New Issue
Block a user