Der Betriebs-Umschalter zeigte nach dem Wechsel den alten Betrieb
Wer für mehrere Betriebe dokumentiert, konnte oben umschalten — Dashboard und Anlagen zeigten danach korrekt den neuen Betrieb, das Auswahlfeld selbst blieb aber auf dem alten stehen. Wer sich darauf verließ, arbeitete im Glauben, im falschen Betrieb zu sein. Zurückwechseln ging teilweise gar nicht, weil das erneute Auswählen des angezeigten Eintrags für den Browser keine Änderung war.
Das Feld zeigt jetzt immer den tatsächlich aktiven Betrieb — auch dann, wenn ein Wechsel fehlschlägt und alles beim Alten bleibt.
Weniger Last, schnellere Seiten
Mehrere Ursachen der bekannten Wartezeiten sind beseitigt:
- Nutzungsstatistiken werden gesammelt in einem Zug gespeichert statt einzeln.
Bisher konnte ein einziger Hintergrund-Vorgang bis zu 50 Schreibzugriffe auslösen und damit genau die Abfragen verdrängen, auf die jemand wartet.
- Das Öffnen und Schließen von Dialogen wurde zweifach gezählt; das Schließen
entfällt. Diese Ereignisse machten den größten Teil aller Nutzungsstatistiken aus.
- Die Notbremse gegen Überlastung hob sich nach drei Sekunden selbst auf —
ausgerechnet dann, wenn sie gebraucht wurde. Sie bleibt jetzt bestehen; im Extremfall zeigt eine Seite den Offline-Hinweis, statt die Datenbank zusätzlich zu überfahren.
- Jeder Seitenaufruf holte den eigenen Betrieb zweimal. Das entfällt.
Hochgeladene Fotos trugen die falsche Dateiendung
Die App rechnet jedes Foto beim Hochladen in JPEG um, behielt aber den Namen der Originaldatei. Ein hochgeladenes PNG lag danach als „foto.png" in der Ablage, obwohl ein JPEG darin steckte — sichtbar beim Herunterladen und im Export. Neue Uploads bekommen jetzt die passende Endung. Bereits hochgeladene Fotos bleiben unverändert; sie öffnen sich trotzdem überall korrekt, weil Bildbetrachter den Inhalt lesen, nicht den Namen.
Anlage vollständig herunterladen — mit allen Fotos und Dokumenten
Neben dem PDF-Nachweis steht in jeder Anlage jetzt Export. Das lädt ein ZIP-Archiv mit allem, was zu dieser Anlage gehört:
daten.json — sämtliche Angaben in strukturierter Form: Stammdaten, Räume
und Gebäudebereiche, Aufträge, Material, Aufgaben.
fotos/ — alle Fotos als echte Bilddateien, nach Raum bzw. Gebäudebereich
in Ordner sortiert und nach ihrer Beschreibung benannt.
dokumente/ — Rechnungen, Nachweise und übrige Dateien, ebenso sortiert.LIESMICH.txt — eine kurze Erklärung des Aufbaus.
Das PDF bleibt das Dokument zum Zeigen, dieses Archiv ist das zum Behalten: gedacht für die Übergabe an Eigentümer, für das eigene Archiv und für den Wechsel zu einer anderen Software. Es enthält bewusst auch die intern markierten Fotos — es sind die eigenen Daten des Betriebs, nicht die öffentliche QR-Ansicht.
Große Akten werden während des Herunterladens erzeugt, statt vorher komplett im Speicher zusammengebaut zu werden; auch eine Anlage mit hunderten Fotos läuft damit durch. Lässt sich eine einzelne Datei nicht laden, bricht nicht der ganze Export ab — die betroffenen Namen stehen dann in fehlende-dateien.txt.
Geprüft in einem echten Durchlauf gegen die Testumgebung, mit einem echten Foto: gültiges Archiv, Umlaute in Datei- und Ordnernamen erhalten, Bilddateien unverändert. Abgesichert durch 11 neue Prüfungen, insgesamt 749 automatische Tests.
Räume und Gebäudebereiche nachträglich umhängen
Ob etwas ein Raum oder ein Gebäudebereich ist, zeigt sich oft erst beim Dokumentieren — eine Dachfläche oder eine PV-Anlage ist schnell versehentlich als Raum angelegt. Bisher half nur: löschen und neu erfassen, samt Fotos, Aufträgen und QR-Code.
Dafür gibt es jetzt zwei Wege:
- Im Raum selbst steht unter den Raumdaten die aktuelle Einordnung und
daneben eine Schaltfläche „In Gebäudebereiche verschieben" — ein Tipp, auch auf dem Handy gut erreichbar.
- Im Bearbeiten-Dialog als Auswahlfeld, wenn ohnehin gerade Name oder
Notizen geändert werden.
Alles Dokumentierte bleibt dabei erhalten, der QR-Code bleibt gültig. Beim Umhängen zu einem Gebäudebereich entfallen Etage und Wohnung; an einem Dach sagen sie nichts. Ein Gebäudebereich zeigt statt „Raumdaten" nun „Bereichsdaten" und blendet die leeren Etagen-Felder aus.
Das mitgelieferte Beispielprojekt zeigt die Dachfläche mit der Photovoltaikanlage außerdem dort, wo sie hingehört: unter Gebäudebereichen, nicht unter Räumen.
Der Firmenwechsel wechselt jetzt wirklich
Wer für mehrere Betriebe dokumentiert, sah bisher überall alles gemischt: Dashboard, Anlagenliste, Ablage, Aufgaben, Wartung, Gewerke und Suche zeigten die Daten aller Betriebe zusammen, egal welcher oben ausgewählt war. Die Auswahl steuerte nur Rolle und Tarif, nicht die angezeigten Daten.
Jetzt bestimmt sie überall, was zu sehen ist. Ein Wechsel schaltet die Ansicht tatsächlich um. Nebenbei wird die App dabei spürbar schneller: sie lädt nicht mehr die Daten aller Betriebe, nur um sie anschließend gemeinsam anzuzeigen.
Es handelte sich nicht um ein Datenleck — die Daten gehörten zu Betrieben, in denen das Konto tatsächlich Mitglied ist. Falsch war, dass die Seite einen einzelnen Betrieb nannte und trotzdem alle zeigte.
Anlagen, die noch keinem Betrieb zugeordnet sind (Altbestand aus der Zeit vor der Firmen-Zuordnung), bleiben für ihren Ersteller sichtbar — in jedem Betrieb, den er auswählt. Damit verschwindet niemandem etwas. Wer das sauber trennen will, ordnet sie einmalig zu; pnpm repair:data listet die betroffenen Anlagen auf.
Geprüft in einem echten Durchlauf gegen die Testumgebung mit einem Konto in zwei Betrieben: Umschalten zeigt jeweils nur die Anlagen des gewählten Betriebs. Abgesichert durch 5 neue Prüfungen, insgesamt 728 automatische Tests.
Raum auf „öffentlich" schalten lief an der Qualitätsprüfung vorbei
Die Prüfung auf Platzhalter- und Testdaten griff bisher beim Kopieren des QR-Links, beim Türschild und beim PDF — nicht aber an der Stelle, an der ein Raum tatsächlich veröffentlicht wird. Wer die Sichtbarkeit direkt auf „öffentlich" stellte, konnte ungeprüft „Lorem ipsum" ins Netz stellen.
Dieser Weg ist jetzt genauso abgesichert wie die anderen: Vor dem Umschalten werden Anlage, Raum und alle zugehörigen Aufträge geprüft, und der Raum wird erst dann öffentlich, wenn nichts beanstandet wird. Das Zurückschalten auf die engere Freigabe bleibt ungeprüft — es macht Daten nicht zugänglicher.
Abgesichert durch 7 neue Prüfungen, insgesamt 725 automatische Tests.
Kundennamen waren auf der QR-Seite öffentlich sichtbar
Auf der Raum-Seite eines QR-Codes standen Auftraggeber und Ansprechpartner mit Klarnamen — sichtbar für jeden, der den Code am Haus scannt, ohne Anmeldung. Beide Angaben zeigt die App jetzt nur noch dem Betrieb, dem das Objekt gehört.
Maßgeblich ist dabei nicht, ob jemand angemeldet ist: ein beliebiges FDH-Konto genügt ausdrücklich nicht. Sichtbar werden persönliche Angaben nur für den Eigentümer des Objekts oder Mitglieder des zugehörigen Betriebs. Wer nur einen QR-Link per E-Mail erhalten hat, darf die Akte lesen, sieht diese Namen aber nicht.
Objektdaten auf beiden QR-Seiten
Gebäude- und Raum-Seite zeigen jetzt die gepflegten Grunddaten des Objekts — Gebäudeart, Baujahr, Wohn-/Nutzfläche, Grundstücksfläche und Einheiten. Bisher stand dort nur der Name und die Adresse, obwohl Baujahr und Gebäudeart vor Ort meist die erste Frage sind.
Der Eigentümer gehört zu den geschützten Angaben und erscheint nur für den Betrieb. Fehlen einem Betrachter Angaben, sagt die Seite das offen („2 nur für den Betrieb"), ohne die Werte preiszugeben.
Gebäudeseite zeigt den Umfang der Akte
Über der Aktenauswahl steht jetzt eine Zeile mit Bereichen, Räumen, Aufträgen, Fotos und Dokumenten. Die beiden Medienzahlen werden nachgeladen, damit die Seite am Gebäude im Mobilfunknetz genauso schnell erscheint wie bisher.
Dazu kommen die Gewerke am Objekt und die Projektbeschreibung in den Kopf der Seite. Eine Akte ohne Einträge ist nicht mehr anklickbar, sondern sagt „Noch nichts dokumentiert" — vorher führte sie auf eine leere Liste und wieder zurück. Außerdem heißt es jetzt korrekt „1 Eintrag" statt „1 Einträge".
Ein Hinweis im Kopf der Seite zeigt, welche Fassung man gerade sieht: Öffentliche Ansicht oder Interne Ansicht · dein Betrieb. Ohne ihn ließ sich beim Gegenlesen der eigenen QR-Seite nicht erkennen, dass Kunden dort weniger sehen.
Geprüft in einem echten Durchlauf gegen die Testumgebung, angemeldet und anonym; abgesichert durch 11 neue Berechtigungs-Prüfungen, insgesamt 718 automatische Tests.