From 7b9fba04ced139cc07f8318ef941189fe045316f Mon Sep 17 00:00:00 2001 From: Paul Nothaft Date: Thu, 13 Aug 2026 13:03:31 +0200 Subject: [PATCH] Abweichung zu main festhalten samt der Falle beim Zusammenfuehren main ist 18 Commits voraus (FMM003, Setup-Menue, iOS-Auflage). Zusammenfuehren ist bewusst aufgeschoben. Festgehalten ist vor allem die eine Stelle, die ein sauberer Merge nicht auffangen wuerde: profil_lesen() gibt in diesem Branch bei fehlender Profildatei None zurueck, profil.py ist auf main unveraendert und geht damit konfliktfrei durch - aber die dortigen Aufrufstellen pruefen das nicht und wuerden abstuerzen statt eine verstaendliche Meldung zu schreiben. --- AGENTS.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 98d3737..04afb9f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -217,6 +217,25 @@ of 3249 modules — the code would have been unreadable. `homeassistant/www/dm36 vendored MIT library served from Home Assistant itself, which satisfies the actual requirement (no network call, token never leaves the local network) and round-trips correctly. +## Pending: this branch has diverged from `main` (noted 2026-08-13) + +`main` has moved 18 commits ahead of `umsetzung-datametric360` (FMM003 switch, sensor-mapping setup +menu, iOS/large-screen overlay from Claude Design). **Deliberate decision: do not merge yet** — the +owner keeps working on `main` first. + +Three files conflict (`AGENTS.md`, `homeassistant/INSTALL.md`, +`homeassistant/pyscript/fahrterkennung.py`); four more are touched by both sides but merge cleanly. + +**One hazard that a clean merge will not catch.** This branch changed `profil_lesen()` in +`homeassistant/pyscript/modules/profil.py` to return `None` when the profile file is missing or +corrupt, and guarded all seven call sites that existed here. `profil.py` is untouched on `main`, so +it merges silently — but `main`'s call sites (`fahrterkennung.py`, `tankerkennung.py`, +`reifenzaehler.py`, `modules/frontend_veroeffentlichung.py`) do **not** guard against `None` and +would raise `AttributeError` on a missing profile instead of logging a clear error. + +When merging: take `main`'s FMM003 version of `fahrterkennung.py`, then re-apply the `None` guard to +every remaining `profil.profil_lesen()` call site. + ## Open items Execution order, exact steps, and acceptance criteria for every item below live in