Verteiler: Einspeisung („gespeist von“) logisch verknüpfen und Leistungen hierarchisch summieren #3

Closed
opened 2026-09-25 19:42:47 +02:00 by Grovy311 · 2 comments
Collaborator

Ausgangslage

Mit Branch feature/print-view haben Verteilungen eine Infokarte mit
boardNumber, location, fedFrom und remark (Migration 0008,
distribution-board.update, Snapshot-Schema 6). fedFrom ist bewusst
Freitext, weil die fachliche Verknüpfung noch nicht festgelegt ist.

Die neue Seitenansicht (Verteilerübersicht) zeigt die Versorgungsstruktur und
eine Spalte „Σ inkl. unterlagert“ bisher nur vorläufig:

  • Zuordnung, wenn der fedFrom-Text genau der Nummer oder Bezeichnung eines
    anderen Verteilers entspricht
  • einfache Summe der Pgl der unterlagerten Verteiler, ohne
    übergeordneten GZF

Siehe docs/print-view.md und src/frontend/print/print-document-model.ts
(buildPreliminaryBoardHierarchy).

Zu klären / umzusetzen

  1. Modell der Verknüpfung
    • Verweis auf den speisenden Verteiler (feedingDistributionBoardId)?
    • und/oder auf den speisenden Stromkreis/Abgang im übergeordneten Verteiler
      (z. B. -3F1.4 der HV)?
    • Externe Einspeisung (HAK, Trafo, Netzersatz) als eigener Typ oder Freitext?
  2. Konsistenzregeln: keine Zyklen, gleiche Netzart?, Verhalten beim
    Löschen/Kopieren eines Verteilers, Undo/Redo, Snapshot und Projektexport.
  3. Summierung: Geht ein Unterverteiler mit seiner gleichzeitigen Leistung
    in den übergeordneten ein, und wird dort ein weiterer GZF angewendet? Soll
    die Leistung eines Unterverteilers als Leistung des speisenden Stromkreises
    erscheinen (dann Grundlage für dessen Leitungs- und Schutzbemessung)?
  4. Revit: boardNumber, location und später die Einspeisung sollen
    aus Revit-Parametern vorbelegt werden können, nach den Regeln aus
    Phase 14 (Vorschau, ausdrückliche Bestätigung, kein stilles Überschreiben).

Nach der Entscheidung ersetzt die echte Verknüpfung die vorläufige
Textzuordnung in der Seitenansicht; fedFrom kann als Anzeige/Freitext für
externe Einspeisungen bleiben.

Umsetzungsstand: Branch feature/print-view in diesem Repository.

## Ausgangslage Mit Branch `feature/print-view` haben Verteilungen eine Infokarte mit `boardNumber`, `location`, `fedFrom` und `remark` (Migration `0008`, `distribution-board.update`, Snapshot-Schema 6). `fedFrom` ist bewusst **Freitext**, weil die fachliche Verknüpfung noch nicht festgelegt ist. Die neue Seitenansicht (Verteilerübersicht) zeigt die Versorgungsstruktur und eine Spalte „Σ inkl. unterlagert“ bisher nur **vorläufig**: - Zuordnung, wenn der `fedFrom`-Text genau der Nummer oder Bezeichnung eines anderen Verteilers entspricht - einfache Summe der P<sub>gl</sub> der unterlagerten Verteiler, ohne übergeordneten GZF Siehe `docs/print-view.md` und `src/frontend/print/print-document-model.ts` (`buildPreliminaryBoardHierarchy`). ## Zu klären / umzusetzen 1. **Modell der Verknüpfung** - Verweis auf den speisenden Verteiler (`feedingDistributionBoardId`)? - und/oder auf den speisenden Stromkreis/Abgang im übergeordneten Verteiler (z. B. `-3F1.4` der HV)? - Externe Einspeisung (HAK, Trafo, Netzersatz) als eigener Typ oder Freitext? 2. **Konsistenzregeln**: keine Zyklen, gleiche Netzart?, Verhalten beim Löschen/Kopieren eines Verteilers, Undo/Redo, Snapshot und Projektexport. 3. **Summierung**: Geht ein Unterverteiler mit seiner gleichzeitigen Leistung in den übergeordneten ein, und wird dort ein weiterer GZF angewendet? Soll die Leistung eines Unterverteilers als Leistung des speisenden Stromkreises erscheinen (dann Grundlage für dessen Leitungs- und Schutzbemessung)? 4. **Revit**: `boardNumber`, `location` und später die Einspeisung sollen aus Revit-Parametern vorbelegt werden können, nach den Regeln aus Phase 14 (Vorschau, ausdrückliche Bestätigung, kein stilles Überschreiben). Nach der Entscheidung ersetzt die echte Verknüpfung die vorläufige Textzuordnung in der Seitenansicht; `fedFrom` kann als Anzeige/Freitext für externe Einspeisungen bleiben. Umsetzungsstand: Branch feature/print-view in diesem Repository.
Owner

Umsetzung abgeschlossen und in main gemergt: 552362b.

Commits:

  • b893c72 – logische Einspeisungsverweise, Migration 0012, Befehle, Snapshot 9 und Transfer
  • 855a04e – fachliche Löschsperren für referenzierte Verteilungen und Stromkreise
  • dfeb0e3 – projektweite rekursive Lastprojektion
  • 042a050 – Projekt- und Editoroberfläche einschließlich schreibgeschützter Unterverteilungszeilen
  • b74b495 – Seitenansicht, Dokumentation und abschließende Tests

Umgesetzt:

  • Eine Verteilung kann optional über Verteilungs-ID und passende Stromkreis-ID gespeist werden. Selbstverweise, Zyklen und Stromkreise einer anderen Verteilung werden abgelehnt.
  • Das bestehende Feld „Gespeist von“ bleibt als Freitext für externe Einspeisungen und Hinweise erhalten. Logische Projektverknüpfungen werden nie automatisch aus diesem Text abgeleitet.
  • Die Leistung einer Unterverteilung wird nach ihrem eigenen Verteiler-GZF genau einmal als virtuelle, schreibgeschützte Last in den gewählten speisenden Abgang übernommen. Rekursive Ketten und mehrere Unterverteilungen an einem Abgang werden unterstützt. Wirkleistung und Scheinleistung werden getrennt summiert; der wirksame cos φ folgt daraus.
  • Eine reine Verteilungsverknüpfung ohne ausgewählten Stromkreis bildet die Hierarchie ab, trägt aber noch keine Last in einen Abgang ein.
  • Abweichende Versorgungsart und ein einphasiger Abgang werden als Hinweis gezeigt. Die Leitungsberechnung und die Seitenansicht verwenden den projizierten cos φ; bei einem ausgewählten einphasigen Abgang wird der Bemessungsstrom einphasig berechnet.
  • Referenzierte Verteilungen und speisende Stromkreise können über keinen direkten, Unterbaum- oder Undo-Pfad gelöscht werden. Die Fehlermeldung nennt die betroffene Unterverteilung.
  • Verteilerkopien behalten ihre eingehende Einspeisung. Mehrere Unterverteilungen am selben Abgang bleiben zulässig und werden angezeigt.
  • Snapshot-Schema 9, Restore und Projekttransfer erhalten die Verweise; beim Duplizieren werden beide IDs auf die neuen Objekte umgesetzt. Ältere Snapshots werden mit leeren Verweisen hochgestuft.
  • Die Seitenansicht verwendet die echten IDs, zeigt die virtuellen Unterverteilungslasten in den Plänen und vermeidet eine zweite hierarchische Addition. Der Grobbilanz-Vergleich bleibt unverändert.

Abweichungen vom Arbeitspaket: keine fachliche Abweichung. Die Stromkreis-ID bleibt wie abgestimmt optional; ohne sie wird bewusst nur die Hierarchie dargestellt.

Dokumentation aktualisiert: AGENTS.md, current-architecture.md, circuit-list-editor-api.md, print-view.md, known-limitations und Produkt-Backlog.

Verifikation:

  • 547 Tests erfolgreich
  • API-Build erfolgreich
  • produktiver Next.js-Build erfolgreich
  • Frontend- und Script-Typprüfung erfolgreich
  • git diff --check ohne Befund

Folgethemen:

  • zweite bzw. Ersatz-Einspeisung mit Umschaltlogik, insbesondere für SV/SiBe
  • Revit-Vorbelegung der Einspeisung später über Vorschau und ausdrückliche Bestätigung nach den Phase-14-Regeln
Umsetzung abgeschlossen und in main gemergt: 552362b. Commits: - b893c72 – logische Einspeisungsverweise, Migration 0012, Befehle, Snapshot 9 und Transfer - 855a04e – fachliche Löschsperren für referenzierte Verteilungen und Stromkreise - dfeb0e3 – projektweite rekursive Lastprojektion - 042a050 – Projekt- und Editoroberfläche einschließlich schreibgeschützter Unterverteilungszeilen - b74b495 – Seitenansicht, Dokumentation und abschließende Tests Umgesetzt: - Eine Verteilung kann optional über Verteilungs-ID und passende Stromkreis-ID gespeist werden. Selbstverweise, Zyklen und Stromkreise einer anderen Verteilung werden abgelehnt. - Das bestehende Feld „Gespeist von“ bleibt als Freitext für externe Einspeisungen und Hinweise erhalten. Logische Projektverknüpfungen werden nie automatisch aus diesem Text abgeleitet. - Die Leistung einer Unterverteilung wird nach ihrem eigenen Verteiler-GZF genau einmal als virtuelle, schreibgeschützte Last in den gewählten speisenden Abgang übernommen. Rekursive Ketten und mehrere Unterverteilungen an einem Abgang werden unterstützt. Wirkleistung und Scheinleistung werden getrennt summiert; der wirksame cos φ folgt daraus. - Eine reine Verteilungsverknüpfung ohne ausgewählten Stromkreis bildet die Hierarchie ab, trägt aber noch keine Last in einen Abgang ein. - Abweichende Versorgungsart und ein einphasiger Abgang werden als Hinweis gezeigt. Die Leitungsberechnung und die Seitenansicht verwenden den projizierten cos φ; bei einem ausgewählten einphasigen Abgang wird der Bemessungsstrom einphasig berechnet. - Referenzierte Verteilungen und speisende Stromkreise können über keinen direkten, Unterbaum- oder Undo-Pfad gelöscht werden. Die Fehlermeldung nennt die betroffene Unterverteilung. - Verteilerkopien behalten ihre eingehende Einspeisung. Mehrere Unterverteilungen am selben Abgang bleiben zulässig und werden angezeigt. - Snapshot-Schema 9, Restore und Projekttransfer erhalten die Verweise; beim Duplizieren werden beide IDs auf die neuen Objekte umgesetzt. Ältere Snapshots werden mit leeren Verweisen hochgestuft. - Die Seitenansicht verwendet die echten IDs, zeigt die virtuellen Unterverteilungslasten in den Plänen und vermeidet eine zweite hierarchische Addition. Der Grobbilanz-Vergleich bleibt unverändert. Abweichungen vom Arbeitspaket: keine fachliche Abweichung. Die Stromkreis-ID bleibt wie abgestimmt optional; ohne sie wird bewusst nur die Hierarchie dargestellt. Dokumentation aktualisiert: AGENTS.md, current-architecture.md, circuit-list-editor-api.md, print-view.md, known-limitations und Produkt-Backlog. Verifikation: - 547 Tests erfolgreich - API-Build erfolgreich - produktiver Next.js-Build erfolgreich - Frontend- und Script-Typprüfung erfolgreich - git diff --check ohne Befund Folgethemen: - zweite bzw. Ersatz-Einspeisung mit Umschaltlogik, insbesondere für SV/SiBe - Revit-Vorbelegung der Einspeisung später über Vorschau und ausdrückliche Bestätigung nach den Phase-14-Regeln
Owner

Nachträgliche UX-Verbesserung zur Einspeisungsverknüpfung, gemergt mit 0a37783.

Commits:

  • ade21fe – neuen Einspeiseabgang direkt im Verteilerdialog anlegen und atomar verknüpfen
  • 9165b82 – reine 1:1-Einspeiseabgänge kompakt in einer Zeile darstellen

Änderungen:

  • Im Feld „Speisender Abgang“ steht jetzt „Neuen Einspeiseabgang anlegen …“ zur Verfügung. Dreiphasig wird vorgeschlagen, das nächste BMK angezeigt und eine eigene Abgangsbezeichnung bleibt optional.
  • Stromkreis und Verknüpfung entstehen gemeinsam als eine Revision und ein Undo-Schritt. Es wird keine Gerätezeile erzeugt; Redo behält UUID und BMK.
  • Schutz und Leitung bleiben bei einem automatisch angelegten Einspeiseabgang bewusst offen, statt einen ungeprüften Endstromkreis-Standard zu übernehmen.
  • Genau eine Unterverteilung ohne zusätzliche Geräte wird in Stromkreisliste und Seitenansicht in einer Zeile gezeigt. Bei mehreren Unterverteilungen oder zusätzlichen Geräten bleiben Sammel- und Unterzeilen erhalten.
  • Anzeigename und Bemerkung eines leeren Reservestromkreises bearbeiten nun den Stromkreis selbst und erzeugen kein Gerät.
  • Bestehende Bezeichnungen werden nicht automatisch überschrieben und können jetzt normal geleert oder als Zusatzbezeichnung verwendet werden.

Keine Datenbankmigration erforderlich. Verifikation: 553 Tests, API-Build, produktiver Next.js-Build sowie Frontend- und Script-Typprüfung erfolgreich.

Nachträgliche UX-Verbesserung zur Einspeisungsverknüpfung, gemergt mit 0a37783. Commits: - ade21fe – neuen Einspeiseabgang direkt im Verteilerdialog anlegen und atomar verknüpfen - 9165b82 – reine 1:1-Einspeiseabgänge kompakt in einer Zeile darstellen Änderungen: - Im Feld „Speisender Abgang“ steht jetzt „Neuen Einspeiseabgang anlegen …“ zur Verfügung. Dreiphasig wird vorgeschlagen, das nächste BMK angezeigt und eine eigene Abgangsbezeichnung bleibt optional. - Stromkreis und Verknüpfung entstehen gemeinsam als eine Revision und ein Undo-Schritt. Es wird keine Gerätezeile erzeugt; Redo behält UUID und BMK. - Schutz und Leitung bleiben bei einem automatisch angelegten Einspeiseabgang bewusst offen, statt einen ungeprüften Endstromkreis-Standard zu übernehmen. - Genau eine Unterverteilung ohne zusätzliche Geräte wird in Stromkreisliste und Seitenansicht in einer Zeile gezeigt. Bei mehreren Unterverteilungen oder zusätzlichen Geräten bleiben Sammel- und Unterzeilen erhalten. - Anzeigename und Bemerkung eines leeren Reservestromkreises bearbeiten nun den Stromkreis selbst und erzeugen kein Gerät. - Bestehende Bezeichnungen werden nicht automatisch überschrieben und können jetzt normal geleert oder als Zusatzbezeichnung verwendet werden. Keine Datenbankmigration erforderlich. Verifikation: 553 Tests, API-Build, produktiver Next.js-Build sowie Frontend- und Script-Typprüfung erfolgreich.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jappel/leistungsbilanz-ts#3
No description provided.