hw_import + merge_hw_layout: Hardwareplanung einlesen und mit dem Layout zusammenfuehren
Stufen 2 und 3 aus doc/Konzept_Layout_Hardware_SCL.md:
- lib/hw_import.py: TIA-Import (*_TIA.xlsx, ohne openpyxl gelesen) +
Positionsdatei (*_positionsconv.json) -> <projekt>_hw.json: je BMK
Adresse, Index-Konstante, VERW, Station, Lage, Foerderer (K0102, #106 ->
K0106); Antriebe MA/FC/GF; Gegenpruefung beider Quellen.
- lib/merge_hw_layout.py: <csv>_tro.json + <projekt>_hw.json ->
<csv>_anlage.json (model.AnlageDocument): bindings je TRO-ID + Slot +
Rolle mit Konstante und Adresse, Foerderer per Mehrheit (Mubea: K0102 =
Kreisel3, K0104 = Kreisel2, K0105 = Kreisel1), Handkorrekturen
cfg/hw_overrides.ini. Zuordnungslogik aus e_planning.py hierher
verschoben; e_planning re-exportiert sie, Ergebnis unveraendert.
- TRO-JSON traegt optional `parts` (Lage/Huellbox, tro_flow --json),
PinStore bekommt Slots line<n>.
- Gespeicherter Lagebezug mit SHA-256 der Positionsdatei; Unterordner in
Eingabenamen relativ zu SKEL_DATA.
- Doku: Python_Scripts.md 5d/5e, Konzept, E-Planung_Bruecke (Abgleich
mubea_layout.dxf / CSV / E-Planung).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>