TypeError beim Cachen von chrome-extension:// Requests verhindert.
Protocol-Check am Anfang des Fetch-Handlers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- output_location (Räumlichkeit): Neues Textfeld am Abgang für Raum/Ort des
Verbrauchers. DB-Migration, Backend (AJAX), Frontend (Website + PWA),
Anzeige im Schaltplan (kursiv) und in PDF-Tabellen.
- Verteilungs-Tabellen: Kundenansicht (A4, Nr/Verbraucher/Räumlichkeit) und
Technikeransicht (A4, R.Klem/FI/Nr/Verbraucher/Räumlichkeit/Typ) im
Leitungslaufplan-PDF. Gruppiert nach Feld/Reihe mit automatischem Seitenumbruch.
- Bundled-Terminals Checkbox: Im Website-Abgang-Dialog (war vorher nur PWA).
- PWA: Diverse Verbesserungen, Service Worker v12.4, Connection-Modal erweitert.
- Typ-Flags: has_product auch für Gebäudetypen, Equipment-Typ Erweiterungen.
- CLAUDE.md + Doku aktualisiert.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Neues separates Feature: Stromlaufplan in aufgelöster Darstellung als PDF.
- WiringDiagramAnalyzer: PHP-Port der JS Phase-Map-Logik, Strompfad-Tracing
- WiringDiagramRenderer: TCPDF-Zeichnung mit VDE-Symbolen (LS, FI/RCD)
- PDF enthält: Schaltplan, Abgangsverzeichnis pro Hutschiene, Legende
- Abgangsnummern im Format R{Reihe}.{Position}
- Grüner Button in Schaltplan-Editor (Kunden + Kontakte)
- CLAUDE.md: Dateistruktur komplett überarbeitet, neue Features dokumentiert
- Version 9.7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Terminal-ColorMap: Farbe wird vom Anschlusspunkt (conn.color) propagiert
statt aus Standard-Phasenfarben abgeleitet zu werden
- Busbar verteilt nur eingespeiste Phasen mit der Eingangsfarbe (fedColors)
- Block-Durchreichung und Leitungen propagieren Farbe mit
- Eingangs-Bezeichnung als Badge mit Rahmen statt rotiertem Text
- L2-Farbe bleibt bei #1a1a1a (Schwarz) - Änderung auf #555555 rückgängig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Terminal-Farben nach Verbindung:
- Terminals zeigen Farbe der angeschlossenen Leitung
- Grau = keine Verbindung, farbig = Leitung angeschlossen
- Neue Hilfsfunktion getTerminalConnectionColor()
Leitungen hinter Blöcken:
- Layer-Reihenfolge geändert: connections vor blocks
- Professionelleres Erscheinungsbild
Zeichenmodus-Verbesserungen:
- Rechtsklick/Escape bricht nur Linie ab, nicht Modus
- Crosshair-Cursor überall im SVG während Zeichenmodus
- 30px Hit-Area für bessere Klickbarkeit
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Terminal zu Leitung Verbindungen (Junction) implementiert
- Snap zum nächsten Punkt auf der Leitung
- Cleanup von überflüssigen Pfad-Punkten (cleanupPathPoints)
- Terminal-Position nutzt jetzt col-Property aus terminals_config
- Einheitlicher Dialog für alle Verbindungstypen
- Kleinere Hit-Area für Terminals (verhindert Überlappen)
- SQL für anlage_accessory Tabelle hinzugefügt
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Beim Zeichnen werden jetzt automatisch Zwischenpunkte eingefügt,
um sicherzustellen dass alle Liniensegmente horizontal oder
vertikal sind (90°-Winkel, keine Diagonalen).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Das Wire-Grid wird jetzt direkt aus den Equipment-Terminal-Positionen
berechnet, identisch zu getTerminalPosition():
- X: eq._x + teIndex * TE_WIDTH + TE_WIDTH/2
- Y: eq._y - 5 (top) / eq._y + height + 5 (bottom)
Vorher wurden Grid-Punkte aus TE-Slots berechnet, was nicht den
+2px Equipment-Offset berücksichtigte.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Gebündelte Terminals: Pfeil jetzt in Zeile 2/4 statt Label-Zeile
- Terminal-Punkte mit CSS-Klassen terminal-row-top/bottom
- Equipment-Block-Value auf 8px verkleinert
- Grid gap auf 0 für kompaktere Darstellung
- Service Worker v6.1
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Problem: Linien verschoben sich während des Zeichnens und waren nicht
korrekt an Start-/Endpunkten ausgerichtet. Raster fehlte außerhalb
der Hutschienen.
Ursache:
- setupMagneticSnap() verwendete getBoundingClientRect() (DOM-Pixel)
statt SVG-Koordinaten über createSVGPoint().matrixTransform()
- Raster wurde nur aus Hutschienen-TE berechnet, keine Randlinien
Lösung:
- Korrekte SVG-Koordinaten in setupMagneticSnap() via matrixTransform
- Erweitertes Raster: Links/rechts Rand (alle 20px), mehr Y-Linien
ober- und unterhalb der Blöcke (alle 15px statt 20px)
- Snap-Radius von 20 auf 25 SVG-Einheiten erhöht
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
field_options wie "Ferris|Digital 1 Richtung| Digital 2 Richtung" führten
zu Leerzeichen nach split('|'), wodurch der Vergleich mit dem gespeicherten
Wert fehlschlug und das Select-Feld beim Editieren leer blieb.
Fix: opt.trim() in JS bei allen Select-Renderings (DynamicFields,
SchematicEditor, PWA) + automatisches Trimmen beim Speichern in Admin.
DB-Werte in Produktion bereinigt.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ChangeLog: v8.5 (Werkzeuge, Zubehör, Ausgebaut) und v8.6 (has_product, Decommissioned-Default, Select2-Fix)
- CLAUDE.md: Neue Abschnitte für Ausgebaut-Status, Mein Betrieb, Select2-Kategorie-Filter
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- has_product Flag für Element- und Gebäudetypen im Admin-Center
- Migration v8.6.0: has_product Spalte in beide Typ-Tabellen
- Produkt-Zeile im Formular wird per JS je nach Typ ein-/ausgeblendet
- Admin-Setting KUNDENKARTE_SHOW_DECOMMISSIONED für Standard-Sichtbarkeit
- Toggle-Button + Tree-Klasse nutzen Admin-Default in allen 3 Ansichten
- Fix: Select2 Typ-Select behält Wert im Edit-Modus (trigger nach init)
- Fix: Fehlende color-Property in fetchAllBySystem() ergänzt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- werkzeuge.php: Multi-System mit System-Tabs (nicht mehr nur WERKZEUG)
- Systeme hinzufügen/entfernen wie bei Kunden-Anlagen
- Alle URLs mit system-Parameter versehen
- Steuerungs-Buttons in System-Tab-Wrapper integriert
- tabs/anlagen.php + tabs/contact_anlagen.php:
- Produkt-Zuordnung im Create/Edit-Formular (Autocomplete)
- Produkt-Anzeige in der Detailansicht
- Zubehör-Liste mit Hinzufügen/Löschen
- Lieferantenbestellung aus Zubehör
- fk_product in add/update-Actions aufgenommen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Virtuelle ID 99999999 statt $mysoc->id (ist immer 0 in Dolibarr)
- Umbenennung "Firmen-Werkzeuge" → "Mein Betrieb" für mehrere Systeme
- Unnötige Societe/Company-Includes entfernt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Neue Seite werkzeuge.php mit Baumansicht für Firmen-Maschinen/Werkzeuge
- Menüpunkt "Firmen-Werkzeuge" unter Start-Menü
- Neue Klasse AnlageAccessory für Zubehör/Ersatzteile pro Anlage
- AJAX-Endpunkt ajax/anlage_accessory.php (CRUD + Lieferantenbestellung)
- DB: fk_product auf Anlage, has_accessories auf AnlageType, Zubehör-Tabelle
- Neues System WERKZEUG in Systemkategorien
- Admin: Checkbox "Hat Zubehör" im Typ-Editor
- Produkt-Autocomplete, Zubehör-Liste mit Bestellfunktion (CommandeFournisseur)
- Produkt-JOIN in fetchChildren für product_ref im Baum
- Übersetzungen de_DE + en_US
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Zeigt den Ausgebaut-Status mit Datum in der Element-Detailansicht
(action=view) für beide Tab-Dateien.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
KundenKarte.ajaxUrl/token existiert nicht - ersetze durch
baseUrl + '/custom/kundenkarte/ajax/...' (wie alle anderen
AJAX-Aufrufe im Modul).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Elemente können als "ausgebaut" markiert werden mit Datum.
Bleiben in der DB für Nachvollziehbarkeit, werden ausgegraut
dargestellt und können per Toggle ein-/ausgeblendet werden.
- DB: decommissioned + date_decommissioned Spalten
- Dialog mit Datumsauswahl beim Ausbauen
- Toggle-Button in Baum- und Graph-Toolbar
- Ausgebaute Elemente ausgegraut (opacity 0.4, durchgestrichen)
- Badge mit Ausbau-Datum im Baum
- Kontextmenü im Graph für Ausbauen/Einbauen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Ansichtsmodus (tree/graph/both) pro System konfigurierbar
- Admin-Zahnrad-Icon auf Kunden- und Kontakt-Anlagen-Tab
- Compound-Nodes: Alle Nachkommen eines Gebäudes werden umschlossen
- Leitungen/Verbindungen aus der Baumansicht entfernt (nur noch im Graph)
- Resize-Handles für Gebäude-Nodes im Bearbeitungsmodus
- graph_width/graph_height Spalten für persistente Gebäudegrößen
- view_modes Spalte in System-Tabelle
- DB-Migrationen in modKundenKarte
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Changelog: Neue Features dokumentiert (Schutzgruppen, Bündelung, etc.)
- CLAUDE.md: PWA-Dokumentation erweitert (Grid-Layout, Terminal-Config)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Gebündelte Terminals: Pfeil jetzt in Zeile 2/4 (wie normale Terminals)
statt in Label-Zeile - sitzt direkt am Equipment-Block
- Terminal-Punkte mit CSS-Klassen terminal-row-top/bottom für korrekte
Ausrichtung am Equipment
- Equipment-Block-Value (B16A etc.) auf 8px verkleinert
- Grid gap auf 0 für kompaktere Darstellung
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Schutzgruppen-Zuordnung: Equipment kann FI/RCD zugeordnet werden
- Farbliche Markierung der Schutzgruppen im Schaltplan
- Dropdown zur Auswahl des Schutzgeräts im Equipment-Dialog
- Gebündelte Terminals: Multi-Phasen-Abgänge (E-Herd, Durchlauferhitzer)
- "Alle bündeln" Option im Abgang-Dialog
- Zentriertes Label über alle Terminals des Equipment
- Terminal-Anzahl aus terminals_config statt TE-Breite
- Neozed 3F zeigt korrekt 3 statt 4 Terminals
- Neue getTerminalCount() Hilfsfunktion
- Zuletzt bearbeitete Kunden (max. 5) auf Search-Screen
- Medium-Typen dynamisch aus DB mit Spezifikationen-Dropdown
- Terminal-Labels anklickbar zum direkten Bearbeiten
- Kontextmenü für leere Terminals (Input/Output Auswahl)
- Block-Label mit Einheiten (40A 30mA statt 40A30mA)
- Online-Status-Anzeige entfernt (funktionierte nicht zuverlässig)
- Service Worker v5.2: Versionierte Assets nicht cachen
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- API: field_meta mit Labels/Typ/Optionen pro Equipment-Typ hinzugefügt
- Detail-Sheet zeigt jetzt Feld-Labels statt DB-Codes (z.B. "Nennstrom (A)" statt "ampere")
- Felder in konfigurierter Reihenfolge (position) angezeigt
- Typ-Auswahl nach Kategorien gruppiert (Leitungsschutz, Schutzgeräte, etc.)
- Alle Systeme laden statt nur Elektro (fetchAllBySystem(0))
- fieldMeta wird im Offline-Cache mitgespeichert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Link zur PWA Mobile App mit URL-Kopieren-Button in den
Modul-Einstellungen unter eigenem Abschnitt.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tipp auf Equipment-Block zeigt jetzt Detail-Ansicht statt direkt
den Bearbeiten-Dialog zu öffnen. Bottom-Sheet mit:
- Typ-Badge + Bezeichnung
- Alle Feldwerte
- Abgänge mit Phasenfarben und Medium-Info
- Einspeisungen
- Position (Hutschiene + TE)
- "Bearbeiten"-Button öffnet Edit-Dialog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GETPOSTINT('position') gab 0 zurück wenn kein position-Parameter
gesendet wurde, was die Reihenfolge der Hutschienen zerstörte.
Jetzt wird position nur noch überschrieben wenn GETPOSTISSET() true ist.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Anlagen-Screen: Kontakte/Adressen oben als vertikale Liste mit Chevron
- Anlagen-Cards: Horizontales Layout (Icon + Titel + Pfeil), volle Breite
- Feld-Badges aus Admin-Einstellungen (show_in_tree) auf Anlagen-Cards
- Kunden-Adresse als Trennlabel bei Anlagen ohne Kontaktzuweisung
- Back-Navigation Fix: Anlagen werden nachgeladen falls leer (Refresh→Back)
- TE-Lücken-Berechnung: getMaxGap() für zusammenhängende freie Slots
- Typ-Buttons gefiltert: Nur Typen die in verfügbare Lücke passen
- Equipment-Blöcke: 80px Höhe, Sicherungsautomat-Optik
- PHP 8.1: trim() null-safe mit ?? ''
- Cache-Versionen synchronisiert auf v2.7
- equipmentconnection: source/target_terminal_id im UPDATE SQL ergänzt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Kontakt-Adressen als aufklappbare Gruppen in Anlagen-Übersicht
- Equipment-Blöcke als CSS Grid (TE-basiert) statt Flex-Wrap
- Abgang-Labels (Outputs) über/unter Automaten, Toggle-Button
- jQuery statt eigener ElementCollection, aus Dolibarr geladen
- Design-System auf Dolibarr Dark Theme Variablen umgestellt
- Session-State-Wiederherstellung bei Refresh
- Browser-History Support (Hardware-Zurück)
- Quick-Select erweitert: AFDD, FI/LS-Kombi
- Intelligente Positionsberechnung mit Lücken-Erkennung
- Hutschiene zeigt belegt/gesamt TE
- $user->getrights() nach Token-Validierung
- Doku aktualisiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PWA Mobile App für Schaltschrank-Dokumentation vor Ort:
- Token-basierte Authentifizierung (15 Tage gültig)
- Kundensuche mit Offline-Cache
- Anlagen-Auswahl und Offline-Laden
- Felder/Hutschienen/Automaten erfassen
- Automatische Synchronisierung wenn wieder online
- Installierbar auf dem Smartphone Home Screen
- Touch-optimiertes Dark Mode Design
- Quick-Select für Automaten-Werte (B16, C32, etc.)
Schaltplan-Editor Verbesserungen:
- Block Hover-Tooltip mit show_in_hover Feldern
- Produktinfo mit Icon im Tooltip
- Position und Breite in TE
Neue Dateien:
- pwa.php, pwa_auth.php - PWA Einstieg & Auth
- ajax/pwa_api.php - PWA AJAX API
- js/pwa.js, css/pwa.css - PWA App & Styles
- sw.js, manifest.json - Service Worker & Manifest
- img/pwa-icon-192.png, img/pwa-icon-512.png
Version: 5.2.0
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>