Optional cable-sizing module #11

Closed
Grovy311 wants to merge 0 commits from feature/cable-sizing into main
Collaborator

Eigenständiges, zustandsloses Modul Leitungsberechnung nach IEC 60364-5-52 Anhang B. Es ersetzt die geschlossenen #1/#4; die Punkte aus deinem Review sind eingearbeitet (Tabellen, Temperatur, Häufung, D1/D2, Aufruf per Button statt Zellenklick, keine Audit-Tabelle, cos φ/Phase aus dem Stromkreis).

Der Prüfnachweis der Tabellen steht in docs/cable-sizing-module.md. Die nationalen Werte (DIN VDE 0298-4) muss der Planer noch gegenprüfen.

Basis: feature/editor-ui (Button in der Aktionsspalte), bitte danach mergen.

Geprüft auf dem Branch allein: alle drei tsc-Konfigurationen, npm test 432/432, Produktions-Build (build:api + build:web). Zusammen mit allen anderen Branches: 509/509 Tests, konfliktfrei in jeder Merge-Reihenfolge.

Merge-Reihenfolge aller Branches:

  1. fix/client-id-insecure-context (#9)
  2. feature/editor-ui (#10)
  3. feature/cable-sizing (#11)
  4. feature/overview-filters (#12)
  5. feature/circuit-list-usability (#13)
  6. feature/card-look (#14)
  7. feature/print-view (#15)
  8. feature/building-structure (#16)
  9. feature/estimate-balance (#17)

🤖 Generated with Claude Code

Eigenständiges, zustandsloses Modul Leitungsberechnung nach IEC 60364-5-52 Anhang B. Es ersetzt die geschlossenen #1/#4; die Punkte aus deinem Review sind eingearbeitet (Tabellen, Temperatur, Häufung, D1/D2, Aufruf per Button statt Zellenklick, keine Audit-Tabelle, cos φ/Phase aus dem Stromkreis). Der Prüfnachweis der Tabellen steht in `docs/cable-sizing-module.md`. Die nationalen Werte (DIN VDE 0298-4) muss der Planer noch gegenprüfen. **Basis:** `feature/editor-ui` (Button in der Aktionsspalte), bitte danach mergen. Geprüft auf dem Branch allein: alle drei `tsc`-Konfigurationen, `npm test` 432/432, Produktions-Build (`build:api` + `build:web`). Zusammen mit allen anderen Branches: 509/509 Tests, konfliktfrei in jeder Merge-Reihenfolge. Merge-Reihenfolge aller Branches: 1. `fix/client-id-insecure-context` (#9) 2. `feature/editor-ui` (#10) 3. `feature/cable-sizing` (#11) 4. `feature/overview-filters` (#12) 5. `feature/circuit-list-usability` (#13) 6. `feature/card-look` (#14) 7. `feature/print-view` (#15) 8. `feature/building-structure` (#16) 9. `feature/estimate-balance` (#17) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Grovy311 added 3 commits 2026-09-26 20:14:43 +02:00
- New IconButton/IconButtonSeparator component based on lucide-react.
- Toolbar: icon plus text, grouped into history, view and insert blocks.
- Group headers: compact icons for add circuit, upstream fuse (VS), group
  RCD (FI), edit, move up/down, renumber and delete; the header no longer
  overflows the grid.
- Rows: add device, delete circuit (trash) and delete device (ListX).
- The previous German labels remain accessible names and tooltips;
  destructive actions highlight in the danger color.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Replace the "Filtern" text buttons with a funnel icon next to the column
  label; an active filter is highlighted and shows its value count.
- Header labels no longer break inside words (e.g. "Bemerkung"); hyphens
  are non-breaking and a trailing unit moves to its own line, so all
  headers share one height.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Per-circuit cross-section recommendation as a separate module attached to
the circuit list. It never writes project data itself: "Übernehmen" applies
cable type, cross-section and length through the regular circuit.update
command, so revisions and Undo/Redo stay intact.

- Pure domain module (src/cable-sizing) with IEC 60364-5-52:2009 Annex B
  tables for PVC and XLPE, copper and aluminium, methods A1, A2, B1, B2, C,
  D1, D2 and E. Every value was cross-checked against public reproductions;
  where sources differ the lower value is used (docs/cable-sizing-module.md).
- Temperature and grouping between table values round to the safer value;
  values outside the tables return no result instead of a factor of 1.
  Ground methods use B.52.18 (D2) and B.52.19 A (D1).
- Overload protection: circuit-breakers In <= Iz; gG fuses additionally
  I2 <= 1.45 Iz with I2 = 1.6/1.9/2.1 In.
- Inputs prefilled from the circuit: power, phase (group or device rows),
  project voltage, power-weighted cos phi, length and protective device.
- Opened from a "Leitungsberechnung" button in the row actions, not from a
  grid cell, so cable cells keep the spreadsheet behavior.
- Stateless API under /api/cable-sizing; no database table or migration.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jappel added 2 commits 2026-09-27 17:01:54 +02:00
jappel closed this pull request 2026-09-27 17:08:05 +02:00
Owner

Integriert in main mit Merge-Commit 8b1923e8ec.

Vorher wurde der Branch auf den aktuellen main gebracht (598003554a, ohne Konflikte) und dann gegen die Norm geprüft und angepasst (5cbbd3a84a).

Anpassungen beim Merge (5cbbd3a, „Align cable sizing with DIN VDE 0298-4“):

  • Normative Grundlage: Tabellen und Faktoren sind jetzt gegen DIN VDE 0298-4:2023-06 inkl. Berichtigung 1:2023-10 geprüft statt gegen IEC 60364-5-52 Anhang B. Strombelastbarkeit Tab. 3–6, Temperatur Tab. 17/20, Häufung Tab. 22 (A1–C) und Tab. 26 (D), Oberschwingungen Anhang B.
  • Korrigierte Werte: PVC/Cu A1 und A2 2 belastete Adern 1,5 mm² jetzt 15,5 A (vorher 14,5 bzw. 14), A1 240 mm² jetzt 321 A (vorher 320, „niedrigerer Wert aus zwei Quellen“). Häufungstabelle A1–C um die Zwischenwerte 10, 14 und 18 ergänzt (0,48 / 0,43 / 0,39).
  • Verlegeart D: D1/D2 zu D zusammengefasst (mehradriges Kabel im Rohr/Kanal im Erdreich). Direkte Erdverlegung (D2) entfällt, weil DIN VDE 0298-4 dafür auf DIN VDE 0276-603 verweist. Häufung bei D nach Tab. 26, maximal 6 Stromkreise.
  • Verlegeart E: Häufungsfaktoren hängen laut Norm von Trägerart, Abstand und Anzahl der Pritschen ab. Diese Angaben kennt das Eingabemodell nicht, deshalb ist E nur für einen einzelnen Stromkreis berechenbar, mit Hinweis im Dialog.
  • Aluminium erst ab 25 mm², weil die DIN-Tabellen darunter keine Werte haben. Kleinere Werte aus dem IEC-Datensatz werden ausgeblendet.
  • 3. Harmonische > 33 %: keine Empfehlung mehr (neuer Grund harmonics). Vorher gab es nur eine Warnung, und trotzdem wurde ein Querschnitt vorgeschlagen, obwohl der Neutralleiterstrom maßgeblich ist.
  • Häufungsgrenze je Verlegeart (maxGroupingCircuits) statt pauschal 20. Das Eingabefeld begrenzt entsprechend und kürzt beim Wechsel der Verlegeart.
  • Länge 0 m ist zulässig, der Dialog weist darauf hin, dass dann kein Spannungsfall angesetzt wird.
  • Dialogtext: Die Empfehlung beruht auf DIN VDE 0298-4. Spannungsfall und Schutzorgan werden als ergänzende Prüfung bezeichnet, nicht als vollständige normative Bemessung.
  • Tests: an die DIN-Werte angepasst, neu u. a. Aluminium unter 25 mm² für alle Verlegearten, Häufungszwischenwerte sowie die Grenzen für D und E.
  • Doku: docs/cable-sizing-module.md neu gefasst (normative Grundlage, Grenzen, Rechenweg, nicht unterstützte Fälle wie direkte Erdverlegung, Neutralleiterbemessung, Kurzschluss/Schleifenimpedanz, Verlegearten F/G). AGENTS.md, API-Doku, Architektur, bekannte Einschränkungen und Backlog sind nachgezogen.

Damit ist auch der offene Punkt aus der PR-Beschreibung erledigt: Die nationalen Werte sind jetzt gegen DIN VDE 0298-4 geprüft.

Integriert in `main` mit Merge-Commit 8b1923e8ec3a7a613c8bad5b558e73a60555cc41. Vorher wurde der Branch auf den aktuellen `main` gebracht (598003554ac2973c39d5044360f4cd21b2005508, ohne Konflikte) und dann gegen die Norm geprüft und angepasst (5cbbd3a84aaf56e9ef998448b85d2012bac20765). Anpassungen beim Merge (5cbbd3a, „Align cable sizing with DIN VDE 0298-4“): - **Normative Grundlage:** Tabellen und Faktoren sind jetzt gegen **DIN VDE 0298-4:2023-06 inkl. Berichtigung 1:2023-10** geprüft statt gegen IEC 60364-5-52 Anhang B. Strombelastbarkeit Tab. 3–6, Temperatur Tab. 17/20, Häufung Tab. 22 (A1–C) und Tab. 26 (D), Oberschwingungen Anhang B. - **Korrigierte Werte:** PVC/Cu A1 und A2 2 belastete Adern 1,5 mm² jetzt 15,5 A (vorher 14,5 bzw. 14), A1 240 mm² jetzt 321 A (vorher 320, „niedrigerer Wert aus zwei Quellen“). Häufungstabelle A1–C um die Zwischenwerte 10, 14 und 18 ergänzt (0,48 / 0,43 / 0,39). - **Verlegeart D:** D1/D2 zu **D** zusammengefasst (mehradriges Kabel im Rohr/Kanal im Erdreich). **Direkte Erdverlegung (D2) entfällt**, weil DIN VDE 0298-4 dafür auf DIN VDE 0276-603 verweist. Häufung bei D nach Tab. 26, maximal 6 Stromkreise. - **Verlegeart E:** Häufungsfaktoren hängen laut Norm von Trägerart, Abstand und Anzahl der Pritschen ab. Diese Angaben kennt das Eingabemodell nicht, deshalb ist E nur für einen einzelnen Stromkreis berechenbar, mit Hinweis im Dialog. - **Aluminium erst ab 25 mm²**, weil die DIN-Tabellen darunter keine Werte haben. Kleinere Werte aus dem IEC-Datensatz werden ausgeblendet. - **3. Harmonische > 33 %:** keine Empfehlung mehr (neuer Grund `harmonics`). Vorher gab es nur eine Warnung, und trotzdem wurde ein Querschnitt vorgeschlagen, obwohl der Neutralleiterstrom maßgeblich ist. - **Häufungsgrenze je Verlegeart** (`maxGroupingCircuits`) statt pauschal 20. Das Eingabefeld begrenzt entsprechend und kürzt beim Wechsel der Verlegeart. - **Länge 0 m** ist zulässig, der Dialog weist darauf hin, dass dann kein Spannungsfall angesetzt wird. - **Dialogtext:** Die Empfehlung beruht auf DIN VDE 0298-4. Spannungsfall und Schutzorgan werden als ergänzende Prüfung bezeichnet, nicht als vollständige normative Bemessung. - **Tests:** an die DIN-Werte angepasst, neu u. a. Aluminium unter 25 mm² für alle Verlegearten, Häufungszwischenwerte sowie die Grenzen für D und E. - **Doku:** `docs/cable-sizing-module.md` neu gefasst (normative Grundlage, Grenzen, Rechenweg, nicht unterstützte Fälle wie direkte Erdverlegung, Neutralleiterbemessung, Kurzschluss/Schleifenimpedanz, Verlegearten F/G). AGENTS.md, API-Doku, Architektur, bekannte Einschränkungen und Backlog sind nachgezogen. Damit ist auch der offene Punkt aus der PR-Beschreibung erledigt: Die nationalen Werte sind jetzt gegen DIN VDE 0298-4 geprüft.

Pull request closed

Sign in to join this conversation.
No reviewers
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#11
No description provided.