← EnergyViewWoningkaart en rapportgrafieken — oplevering
3 november 2026. Bronbasis: 7c3262c7. Referentiebeeld bevat synthetische gegevens.
Resultaat per werkstroom
| Werkstroom | Wijziging | Controle / beperking |
|---|
| 1 Installatie | Vier optionele paneelvelden en twee batterijvelden; eenheden, onbekend-knop, grenzen, komma/punt | Alleen energyProfile.*.installation; dezelfde instellingenopslag en volledige wisfunctie. Geen gebruik in prijs of dispatch. Test voor bewaren, JSON-herstel, wissen en ongeldige invoer |
| 2 Woningkaart | Vandaag en plannen, specificaties, twee editknoppen; naast elkaar waar ruimte is | Geen extra invoer op de kaart. Bestaande editor blijft behouden. Overlapwaarschuwing voor tegenstrijdige oude configuraties; bestaande beveiliging tegen een tweede batterij blijft intact |
| 3 Rapport | Samenvatting en woning samen; Vandaag / Plannen / Effect; gelijke verbruikswaarden één rij | Voorbeeld zes naar vijf pagina's. Offerteblad één pagina; beschrijvende specificaties toegevoegd. Niet elke inhoudelijk verschillende rapportvariant heeft gegarandeerd vijf pagina's |
| 4 Grafieken | Inline SVG voor energieverdeling, gemiddelde dag en geladen marktprijzen; toegankelijke tabellen en nulreferentie | Balanscontrole met tolerantie 0,1 kWh. Geen nieuwe dispatch, bronverdeling of prijsophaling. Bij ontbrekende gegevens expliciete uitleg |
| 5 Herkomst | Gemeten / Berekend in je scenario / Geschat; synthetisch voorbeeld duidelijk gemarkeerd | Netmetingen bewijzen geen eigen zonneproductie. Gewogen prijs alleen uit bestaand resultaat; anders vermelding dat deze ontbreekt |
| 6 Voorstellen | Twee korte beslisnota's | Geen model voor reconstructie of nieuwe productie-import gebouwd |
Wat een echt resultaat nog niet bevat
De huidige resultaatobjecten bewaren niet voor elk scenario de verdeling van alle energie tussen huis, auto en batterij, of een kwartierreeks van elke bron. De nieuwe renderer kan een volledig, sluitend diagram tonen als die verdeling aanwezig is. Het voorbeeld levert zulke expliciet synthetische gegevens. In echte rapporten zonder deze gegevens verschijnt de ontbrekende-verdeling-uitleg, met de beschikbare netmetingen of het scenarionetprofiel. Dit is geen claim dat alle echte aankoopplannen al een volledige Sankey krijgen.
De gemiddelde dag groepeert de bestaande kwartieren per tijdstip en weekdag/weekend. Zonder bronreeksen toont hij alleen netafname. De prijsgrafiek gebruikt uitsluitend de al geladen marktprijzen. Ontbrekende prijzen worden niet vervangen door nul of nieuw opgehaald. weightedSpotPrice en batterijverlies worden als documentmetadata doorgegeven wanneer het gekozen bestaande dispatchresultaat ze bevat. Geen tweede rekeningberekening.
Voor / na
| Maat | Voor | Na |
|---|
| Energierapport, WeasyPrint 70 | 6 A4 / 56.775 bytes | 5 A4 / 153.040 bytes |
| Offerteblad, WeasyPrint 70 | 1 A4 / 15.976 bytes | 1 A4 / 16.074 bytes |
| Beschrijvende velden panelen/batterij | 0 | 6, uitsluitend in de editor |
| Invoervelden op woningkaart | 0 | 0 |
| Knoppen op woningkaart | 1 | 2 |
| Tests | 207 | 209 geslaagd, 0 mislukt |
| Golden | Referentie | Alle acht scenario's exact gelijk; verschil € 0,00 |
| Rekenbestanden | v281 | Tien bestanden byte-identiek met cmp |
| Lint / typecheck | Baseline | Geen nieuwe diagnosticgroepen; 737 / 487 bestaande diagnostics |
| Opmaak | Bestaande config | format:check geslaagd |
| Browser, 360 / 1280 px | Geen nieuwe nulmeting | Chrome: nul axe wcag2a/aa-overtredingen incl. contrast, geen horizontale overloop op het gecontroleerde gegevensscherm |
PDF-grootten zijn lokale rendereruitvoer, vóór eventuele documentverwerking bij downloaden. Er is geen snelheidsclaim: dit was geen prestatiewijziging en er zijn geen vijf-run-prestatiemetingen uitgevoerd.
Bedekte ruimte per pagina
Met scripts/ux/report-coverage.py: Poppler 100 dpi, zelfde methode voor beide PDF's. Papiermarges en vaste kop/voet uitgesloten. Inktpercentage telt pixels donkerder dan 240/255. De rechthoekmaat omvat ook witruimte tussen de uiterste inhoudspunten en is geen leesbaarheidsscore.
| Rapport | Inktpercentage per pagina | Omhullende inhoudsrechthoek per pagina |
|---|
| Voor | 8,5 / 6,3 / 6,0 / 24,8 / 5,7 / 7,9% | 67,4 / 76,2 / 65,2 / 72,5 / 57,3 / 62,4% |
| Na | 12,7 / 6,0 / 21,3 / 5,7 / 7,9% | 99,7 / 65,2 / 98,2 / 57,3 / 62,4% |
| Offerte voor → na | 8,9 → 9,6% | 81,3 → 83,9% |
De gecombineerde eerste pagina benut de ruimte beter. De contract-, investerings- en bronnenpagina houden leesruimte; deze ronde heeft niet alle witruimte weggewerkt.
Oud → nieuw
| Oud | Nieuw |
|---|
| Eén woningregel en één editknop | Vandaag / Plannen met specificaties en afzonderlijke editknoppen naar dezelfde editor |
| Korte woningregels op pagina 2 | Driekolomstabel bij samenvatting op pagina 1 |
| Twee identieke verbruiksregels | Eén regel; afzonderlijk en uitgelegd zodra meetwaarde en rekeningwaarde verschillen |
| Elektriciteitsgrafieken met maandbalken | Netstromen of sluitende bronverdeling, gemiddelde dag en relevante prijscurve; maandgegevens blijven in de app |
| Offerte zonder installatiespecificaties | Specificaties bij Apparaten en verbruiksprofiel |
Geen bestaande element-ID of handler verwijderd. De twee presentatietests zijn aangepast voor de expliciet gevraagde paginacombinatie en vervanging van maandbalken door kwartierdaggrafieken. Bedrag-, volgorde- en golden-tests zijn niet versoepeld.
Begrippen in het rapport
- Gemeten: rechtstreeks uit het ingeladen meetbestand.
- Berekend in je scenario: reeds berekende uitkomst van gekozen plannen.
- Geschat: gebaseerd op een aanname of zonnemodel, geen eigen productiemeting.
- Netafname / teruglevering: elektriciteit van / naar het openbare net.
- kW: vermogen op een moment of gemiddeld in een kwartier. kWh: hoeveelheid energie.
- kWp: het opgegeven paneelvermogen, geen gemeten opbrengst.
- Gewogen marktprijs: bestaande gemiddelde marktprijs bij jouw netafname; geen volledige contractprijs.
- Batterijverlies: bestaand verschil door opslag en omzetting, wanneer bewaard.
Niet geverifieerd
Geen Chrome- of Firefox-PDF gemaakt; de geleverde voorbeelden zijn WeasyPrint 70. Geen fysieke iOS-/Android-toestellen, geen echte schermlezer en geen zelfstandige PDF/UA-conformiteitscertificering. Geen bewijs van volledige bronverdeling voor elk werkelijk aankoopplan. Geen nieuwe bron- of licentiebeoordeling; de memo's beschrijven opties en de grenzen van de huidige code. Productie-API's zijn niet nodig voor de lokale grafieken en zijn in deze ronde niet integraal getest. De iframe-sandboxbeslissing, CSP en rekenkern zijn ongewijzigd.
Te beslissen
Kies voor een volgende ronde of en welk lokaal bruto-/productiebestand ondersteund moet worden, hoe ontbrekende meetintervallen worden behandeld, en of een duidelijk gelabelde zonnemodelschatting mag worden aangeboden. Die keuzes zijn nodig vóór een ontbrekende bronverdeling kan worden aangevuld. Geen beleidsbeslissing nodig voor de huidige uitsluitend beschrijvende velden.