[[00 Marstek Speicher (MOC)|← Zurück zur Marstek-Übersicht]] # Word-Export: Marstek-Systemdokumentation Erzeugt `Marstek-Systemdokumentation.docx` – eine zusammenfassende Projektdokumentation des Batteriespeicher-Systems. Die `.docx` ist **bewusst nicht eingecheckt**, sie lässt sich jederzeit neu erzeugen. > [!important] Quelle ist EINE Notiz, keine Zusammenstellung > Wie bei [[02 HA-Systemdokumentation|Home Assistant]] ist die Quelle eine **redaktionell > geschriebene Zusammenfassung**: [[00 Marstek-Systemdokumentation]]. Aus 7.108 Wörtern > Rohmaterial (≈ 20 Seiten) sollten 5–10 Seiten werden – das ist eine **Verdichtung**, keine > Zusammenstellung. Die 11 Einzelnotizen bleiben die Detailebene und werden **nicht** > exportiert. > > **Konsequenz:** Ändert sich eine Detailnotiz inhaltlich, muss die Zusammenfassung von Hand > nachgezogen werden. ## Aufruf ```bash # 1) Zwischenstufe bauen -> _build/out/marstek-systemdoku.md PYTHONIOENCODING=utf-8 python "30 Energie/01 Marstek Speicher/_build/build_marstek.py" # 2) Word erzeugen "/c/Program Files/Pandoc/pandoc" "30 Energie/01 Marstek Speicher/_build/out/marstek-systemdoku.md" \ -o "30 Energie/01 Marstek Speicher/Marstek-Systemdokumentation.docx" \ --reference-doc="40 Projekte/CooleSenioren/_build/reference-footer.docx" \ --toc \ --metadata title="Marstek-Batteriespeicher" \ --metadata subtitle="Systemdokumentation: Aufbau, Steuerung, Wirtschaftlichkeit" \ --metadata author="Joachim Berger" \ --metadata date="Stand: 17.07.2026" \ --metadata lang="de-DE" \ --metadata toc-title="Inhaltsverzeichnis" # 3) Titelseite/Verzeichnis zurechtrücken (Pflichtschritt) PYTHONIOENCODING=utf-8 python "20 Software/Home Assistant/_build/layout_ha.py" \ "30 Energie/01 Marstek Speicher/Marstek-Systemdokumentation.docx" # 4) Dokumenteigenschaften setzen (Pflichtschritt) PYTHONIOENCODING=utf-8 python "40 Projekte/CooleSenioren/_build/set_props.py" \ "30 Energie/01 Marstek Speicher/Marstek-Systemdokumentation.docx" ``` > [!warning] Word muss die Zieldatei geschlossen haben > Sonst bricht Pandoc mit `permission denied` ab. Schritt 3 und 4 prüfen die Lockdatei > `~$...docx` selbst und brechen sauber ab. ## Wiederverwendete Bausteine Drei Bausteine liegen **nicht** in diesem Ordner – sie sind nicht projektspezifisch und werden von allen Word-Exporten des Vaults genutzt: | Baustein | Liegt in | Was es tut | |---|---|---| | `reference-footer.docx` | `40 Projekte/CooleSenioren/_build/` | Obeco-Vorlage: A4, Fußzeile mit Logo und „Seite X von Y" | | `set_props.py` | `40 Projekte/CooleSenioren/_build/` | Dokumenteigenschaften inkl. Firma „Obeco GmbH"; kennt die Marstek-Datei über einen eigenen `PROPS`-Eintrag | | `layout_ha.py` | `20 Software/Home Assistant/_build/` | Zieht den Adressblock vor das Inhaltsverzeichnis, setzt Seitenumbrüche | > [!note] Offene Aufräumarbeit > Der Name `layout_ha.py` ist inzwischen irreführend – das Skript ist generisch (es findet > die Adressabsätze über ihren Text) und wird auch hier benutzt. Sauber wäre ein neutraler > Ort für alle drei Bausteine, z. B. `90 Vorlagen/_build/`. Das berührt aber die laufende > CooleSenioren-Pipeline und deren `.gitignore`-Ausnahme. Bewusst verschoben, siehe auch > `20 Software/Home Assistant/_build/README.md`. ## `build_marstek.py` – was beim Export passiert | Was | Warum | |---|---| | Nav-Kopfzeile, Status-Block, Änderungshistorie, Footer | interne Vault-Elemente | | Zeilen `→ Details: …` | verweisen auf Einzelnotizen, die nicht mitexportiert werden | | Wikilinks `[[Ziel\|Label]]` | zu `Label` bzw. `Ziel` aufgelöst | | H1 entfernt, Ebenen hochgestuft | Der Titel steht auf der Titelseite; sonst wäre die H1 ein redundanter erster Verzeichnis-Eintrag. Die Notiz im Vault behält ihre H1. | ### Eingebaute Prüfungen Bricht **hart ab**, statt eine kaputte Datei zu erzeugen: - Notiz ohne H1 oder Status-Block; Wikilink-Reste; `→ Details:`-Zeilen; keine Kapitel - Wortzahl außerhalb **1.400–3.800** (Zielkorridor 5–10 Seiten) - **Faktische Sperre:** `39 kWh`, `je 13 kWh` oder `B2500` im Ergebnis → Abbruch. Umgekehrt müssen `15 kWh` und `13 kWh` vorkommen. > [!warning] Warum die Kapazitäts-Sperre existiert > Die Speicherkapazität war bis 17.07.2026 **widersprüchlich** dokumentiert: MOC und > Omnibattery-Notiz nannten „je 13 kWh" bzw. „39 kWh gesamt", die Wirtschaftlichkeitsanalyse > dagegen „3× Marstek B2500, je 5 kWh". Richtig ist: **3× Marstek Venus E v3 à 5 kWh = > 15 kWh brutto, davon ca. 13 kWh nutzbar** (12–15 % Reserve, sonst Zellschädigung). > Die „13 kWh" dürften ursprünglich die nutzbare Gesamtkapazität gewesen sein und wurden > versehentlich als Einzelkapazität notiert – daraus wurden die 39 kWh. > Die Sperre verhindert, dass eine der Falschangaben ins Vorzeige-Dokument zurückkehrt. --- **Status:** In Bearbeitung **Version:** 1.0 **Letzte Aktualisierung:** 17.07.2026 11:35 Uhr ### Änderungshistorie | Version | Datum | Uhrzeit | Änderung | |---|---|---|---| | 1.0 | 17.07.2026 | 11:35 | Erstfassung – Pipeline für die Marstek-Systemdokumentation (Nutzervorgabe: eigenes Word, Machart wie Home Assistant). Quelle ist eine redaktionelle Zusammenfassung. Vorlage, `set_props.py` und `layout_ha.py` wiederverwendet. Kapazitäts-Sperre eingebaut, nachdem die widersprüchliche Dokumentation der Speichergröße aufgefallen war | --- [[Impressum|Impressum]] | [[Datenschutzerklärung|Datenschutz]]