← EnergyView

Openbare gegevens vernieuwen

Onderzoek uitgevoerd op 2 november 2026. Dit proces verandert geen rekenregels, heffingen, golden-referentie of browserdataverkeer. De bestaande harde weigering van een verouderde vooruitblikcurve blijft actief.

Bronnen en gebruik

OnderdeelOfficiële bron en formaatPublicatie en beperkingAanpak
Stroom- en gasproductenVNR V-test-data, XLSXMaandelijkse publicaties; op de bronpagina geen gegarandeerde kalenderdag aangetroffen. Op 2 november stond oktober nog als nieuwste productbestand.Downloadlink op de officiële pagina ontdekken; bestaande parseVtest, productaantallen en numerieke cellen controleren.
ElektriciteitscurveDezelfde VNR-pagina, XLSX, tabblad EPC_ElekNovembercurve was op 2 november beschikbaar; de map in de URL heet oktober. De publicatiemaand komt uit de inhoud, nooit uit de mapnaam.Twaalf complete maanden met opeenvolgende uurwaarden; dezelfde rekenkundige maandgemiddelden als het bestaande importscript.
Nettarieven stroom/gasVNR distributienettarieven, jaarlijkse XLSXGeldigheidsjaar is geen maandelijkse publicatiedag. Meerdere historische jaren blijven aangeboden.Stroom: nieuwste expliciet genoemde jaar ontdekken en parseNetwork toepassen. Gas: dezelfde tarieven en grenzen als de bestaande gasimport, met aparte structuur- en getalcontroles. Beide echte 2026-bestanden zijn gevalideerd.
Gemeenten en distributienetbeheerdersFluvius open data, JSON-export/APIAPI live bereikbaar, 1.144 records bij probe. Geen vaste maandelijkse publicatiedag vastgesteld.Publieke JSON-export, veld-/aantalcontrole; stroom- en gasmapping ter review.
Heffingen en accijnzenBestaande officiële/leveranciersbronnen in src/data.json en src/gas-data.jsonGeen geverifieerde complete machineleesbare feed met hergebruikvoorwaarden vastgesteld. V-test-bedragen zijn exclusief deze kosten.Handmatig bron, geldigheidsdatum en wettelijke basis controleren. Nooit uit productprijzen afleiden.
CREG boordtabelCREG FAQ, PDFGeen vaste publicatiedatum of automatisch gegevenssysteem volgens de FAQ. Andere methodiek dan vooruitblik.Handmatige kruiscontrole; geen vervangende curve of nieuwe API verzinnen.
Leveranciers/promotiesLeveranciersvoorwaarden en bestaande promotiebronGeen algemene geverifieerde toestemming of stabiele publieke API voor alle leveranciers vastgesteld.Handmatige controle; deze taak voegt geen scraping van promoties toe.

De VNR-open-datalicentie geldt voor als open data gepubliceerde datasets onder Cijfers, met bronvermelding en zonder suggestie van officiële goedkeuring. Dit is geen algemene toestemming om alle websiteteksten of leveranciersmateriaal commercieel over te nemen. Fluvius verwijst naar zijn open-datalicentie: bewaar bronvermelding en controleer de toepasselijke datasetlicentie bij wijzigingen. Een exacte beschikbaarheidsdag of publicatie-SLA wordt hier niet beloofd.

Automatisch voorstel, nooit automatisch publiceren

npm run data:refresh ontdekt de officiële downloads, haalt alleen openbare data op en valideert alles vóór er bestanden worden geschreven. De browser krijgt geen nieuwe requests. De bot schrijft voorstellen naar data-updates/, niet naar src/. SHA-256, bron-URL, waarnemingsdag en inhoudsmaand worden vastgelegd. Identieke bytes houden dezelfde waarnemingsdag en veroorzaken geen dagelijks nieuw voorstel.

De dagelijkse GitHub Action opent of actualiseert alleen een PR als de voorstellen veranderen. Er is geen auto-merge, publish of deploy. Hiervoor moet de repository in GitHub staan en moet het repositorybeleid Actions toestaan PR's te openen. Deze GitHub-hosted uitvoering kon niet vanuit deze Sites-repository worden getest.

Controledrempels zijn importpoorten, geen rekenregels: 30–1.000 woonproducten per energietype, uitsluitend eindige getallen, positieve nettarieven en maximaal 50% wijziging van vergelijkbare numerieke velden. Negatieve marktprijzen blijven legitiem. Bij een legitieme grotere sprong beslist de beheerder expliciet over een andere drempel (--max-jump=...); de bot verruimt die nooit zelf. Nieuwe producten worden op volledigheid gecontroleerd; ze hebben geen vergelijkingsprijs.

De nieuwe voorstellen bevatten opzettelijk geen automatisch ingevulde heffingen. Als de nettarievenpagina meerdere bestanden voor hetzelfde nieuwste jaar toont, faalt de ontdekking in plaats van een willekeurige versie te kiezen.

Rollen en controlelijst

1. Bot: downloaden, SHA vastleggen, parsers en sanity-controles, voorstel-PR. 2. Gegevensbeheerder: open bron-URL; controleer licentie en publicatie-/geldigheidsmaand; vergelijk productaantallen en verdwenen producten, lege velden en prijswijzigingen; controleer gasnetkosten en heffingen handmatig; vergelijk de twaalf curvegemiddelden. 3. Reviewer: controleer dat geen privégegevens, rekenregels of golden-referentie meegaan. Keur alleen het bronvoorstel goed. Samenvoegen van deze PR publiceert nog geen nieuwe tarieven: de app leest data-updates/ niet. 4. Releasebeheerder: integreer de goedgekeurde voorstellen met bestaande data-imports, behoud historische maanden en expliciete heffingen, noteer de echte bijwerkdatum. Voer tests en alle drie builds uit; vergelijk de aangekondigde prijsverschillen in een aparte gegevensrelease vóór handmatige publicatie. Het wijzigen van inputdata kan de golden-inputhash en bedragen veranderen; deze engineeringtaak geeft geen toestemming die referentie bij te werken.

Handmatige terugval: download het officiële bestand, noteer URL/SHA/publicatiemaand, voer de bestaande beheerimport uit, controleer de bovenstaande lijst en vraag een tweede review. Publiceer nooit omdat de kalender een nieuwe maand bereikt heeft.

Offline controle

node tests/data-refresh.mjs bouwt lokale XLSX-fixtures, gebruikt de echte parsers en verbiedt netwerkverkeer. node scripts/data/test-workflow-git.mjs test daarnaast lokaal het bijwerken van de voorstelbranch vanuit een single-branch checkout en bescherming tegen gelijktijdige edits; het maakt geen echte GitHub-PR aan. Het test ongewijzigde herhaling, ongeldige bestanden, prijs-/URL-controles en niets schrijven bij validatiefouten.

node scripts/refresh-data.mjs --fixture=/pad/manifest.json --out=/tijdelijke/map accepteert een manifest met per bron (vtest, network, gasNetwork, curve, communities) een lokale file en officiële url. De productiecode gebruikt hetzelfde pad na download. De fixtures gebruiken uitsluitend openbare of synthetische data.

Beslissing die nog openstaat

Voorstel: eventueel de vorige-maandcurve tot en met de vijfde Brusselse kalenderdag gebruiken, met een zichtbare waarschuwing en publicatiemaand. Dit geeft continuïteit maar kan verschoven prijzen en contractrangordes tonen. Alternatief: tot de zevende, of de huidige harde blokkade behouden. Er is geen bron die vijf of zeven dagen als veilig garandeert. Niet geïmplementeerd zonder akkoord; ook de UTC-maandgrens van de bestaande regel is nog niet gewijzigd. Voor exacte batterijzoekruimte is geen stopdrempel nodig: alle groottes blijven in de reeks.

Van goedgekeurd voorstel naar de drie builds

De bot blijft alleen voorstellen maken. De nieuwe buildkoppeling leest dezelfde data-updates/ voor HA, Pages en Worker via siteAssets().

1. Controleur vergelijkt REVIEW.md, bronbestanden, licentie, productaantallen, tarieven, heffingen en curvemaanden. De bestaande sprongdrempel blijft gelijk. 2. Voer op de reviewbranch npm run data:approve -- "naam controleur" uit. Dit maakt approval.json, gebonden aan de SHA-256 van de volledige manifest. Elk genormaliseerd bestand heeft daarnaast een eigen SHA-256. Veranderde bestanden na goedkeuring blokkeren de build. 3. Voeg de goedkeuring toe aan de PR. Laat een bevoegde mens de PR goedkeuren en mergen. Een naam in JSON bewijst op zichzelf geen bevoegdheid: branchbeveiliging en verplichte menselijke review moeten in de echte repository zijn ingesteld. 4. Bouw en controleer alle deployments. Geen bezoekers halen deze datasets zelf bij de bron op; ze krijgen alleen de gecontroleerde buildbestanden. 5. Controleer een financieel verschilrapport vóór publicatie. perf:golden gebruikt vaste canonieke scenario's; het bewijst niet dat een nieuw bronnenpakket dezelfde aanbiedingen bevat. Datawijzigingen kunnen bedragen en identifiers wijzigen. Leg dat apart vast; een golden-referentie wordt nooit door deze scripts bijgewerkt. 6. Publiceren blijft een afzonderlijke menselijke beslissing. Geen Action in deze wijziging publiceert automatisch een gegevensvoorstel.

Zonder approval.json worden voorstellen genegeerd. De canonieke src/*.json blijven onaangeroerd. De offline fixtuurtest bewijst negeren zonder goedkeuring, exact reproduceerbare bouwinvoer na goedkeuring en weigering na een bytewijziging. De werkelijke GitHub-rechten, reviewregels, Action en merge zijn hier niet getest: het huidige project gebruikt Sites-bronopslag, geen gekoppelde GitHub-repository.