{"id":7990,"date":"2025-12-29T20:56:55","date_gmt":"2025-12-29T19:56:55","guid":{"rendered":"https:\/\/energienerds.nl\/?p=7990"},"modified":"2026-04-08T23:02:15","modified_gmt":"2026-04-08T22:02:15","slug":"zonneschijnduur-2025-zonnepanelen-opbrengst","status":"publish","type":"post","link":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst","title":{"rendered":"2025: zonovergoten jaar zorgt voor fors meer opwek uit zonnepanelen"},"content":{"rendered":"\n<p>Met nog twee dagen te gaan sluiten we een uitzonderlijk zonnig jaar af. 2025 was niet alleen warmer dan normaal \u2014 vooral de enorme hoeveelheid zonuren zorgde voor een recordopbrengst uit zonnepanelen. Voor huishoudens met zonnepanelen \u00e9n thuisbatterijen leverde dat een flinke bonus op. In dit artikel duiken we in de KNMI\u2011data, leggen we uit wat dit betekent voor je opbrengst en hoe contractvormen en terugleverkosten de financi\u00eble impact bepalen.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_416a1d-1f .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_416a1d-1f .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_416a1d-1f\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf21\ufe0f <strong>Temperatuur 2025 vs. langjarig gemiddelde<\/strong><\/h2>\n\n\n\n<p>2025 eindigt op een gemiddelde temperatuur van <strong>5,9\u00b0C<\/strong>, wat <strong>0,8\u00b0C (+16%)<\/strong> boven het langjarig gemiddelde ligt. Alleen januari en oktober waren kouder dan normaal; alle andere maanden waren warmer tot zelfs veel warmer.<\/p>\n\n\n\n<p>Belangrijk om te weten: <strong>Hogere temperatuur betekent niet automatisch meer opbrengst.<\/strong> Sterker nog: zonnepanelen leveren juist minder rendement bij warmte. De hogere productie in 2025 komt dus vrijwel volledig door <strong>meer zonneschijnduur<\/strong>, niet door temperatuur.<\/p>\n\n\n\n<div class=\"temp2025-block\">\n\n<style>\n\/* --- ISOLATIE: ALLES BLIJFT BINNEN .temp2025-block --- *\/\n.temp2025-block * {\n    box-sizing: border-box;\n    font-family: 'Segoe UI', Arial, sans-serif;\n}\n\n\/* Container *\/\n.temp2025-block .container {\n    max-width: 1000px;\n    margin: 0 auto;\n    background-color: #34495e;\n    border-radius: 8px;\n    padding: 25px;\n    overflow-x: auto;\n    border: 1px solid #4a6572;\n    color: #ecf0f1;\n}\n\n\/* Koppen *\/\n.temp2025-block h1 {\n    color: #ecf0f1;\n    margin-bottom: 10px;\n    font-size: 28px;\n    text-align: center;\n    font-weight: 600;\n}\n\n.temp2025-block .subtitle {\n    color: #bdc3c7;\n    text-align: center;\n    margin-bottom: 30px;\n    font-size: 16px;\n}\n\n\/* Tabellen *\/\n.temp2025-block table {\n    width: 100%;\n    border-collapse: collapse;\n    margin: 25px 0;\n    font-size: 15px;\n    border: 1px solid #4a6572;\n}\n\n.temp2025-block th {\n    background-color: #2c3e50;\n    color: white;\n    font-weight: 600;\n    text-align: center;\n    padding: 16px 12px;\n    border: 1px solid #4a6572;\n}\n\n.temp2025-block td {\n    padding: 14px 12px;\n    border: 1px solid #4a6572;\n    text-align: center;\n    color: #ecf0f1;\n}\n\n.temp2025-block tr:nth-child(even) {\n    background-color: rgba(52, 73, 94, 0.7);\n}\n\n.temp2025-block tr:hover {\n    background-color: rgba(52, 152, 219, 0.1);\n}\n\n\/* Kleuren per status *\/\n.temp2025-block .more-temp { background-color: rgba(231, 76, 60, 0.15); }\n.temp2025-block .less-temp { background-color: rgba(149, 165, 166, 0.15); }\n.temp2025-block .slightly-more { background-color: rgba(46, 204, 113, 0.1); }\n.temp2025-block .much-more { background-color: rgba(241, 196, 15, 0.2); }\n\n.temp2025-block .difference { font-weight: bold; }\n\n\/* Status badges *\/\n.temp2025-block .status-indicator {\n    display: inline-block;\n    padding: 4px 12px;\n    border-radius: 12px;\n    font-size: 13px;\n    font-weight: 600;\n    min-width: 100px;\n    text-align: center;\n}\n\n.temp2025-block .status-more {\n    background-color: rgba(231, 76, 60, 0.2);\n    color: #e74c3c;\n    border: 1px solid rgba(231, 76, 60, 0.4);\n}\n\n.temp2025-block .status-less {\n    background-color: rgba(149, 165, 166, 0.2);\n    color: #95a5a6;\n    border: 1px solid rgba(149, 165, 166, 0.4);\n}\n\n.temp2025-block .status-slightly {\n    background-color: rgba(46, 204, 113, 0.2);\n    color: #2ecc71;\n    border: 1px solid rgba(46, 204, 113, 0.4);\n}\n\n.temp2025-block .status-much {\n    background-color: rgba(241, 196, 15, 0.2);\n    color: #f1c40f;\n    border: 1px solid rgba(241, 196, 15, 0.4);\n}\n\n\/* Summary box *\/\n.temp2025-block .summary-box {\n    background: linear-gradient(135deg, rgba(231, 76, 60, 0.9), rgba(192, 57, 43, 0.9));\n    border-radius: 10px;\n    padding: 20px;\n    color: white;\n    text-align: center;\n    margin: 20px auto;\n    max-width: 600px;\n    border: 1px solid rgba(231, 76, 60, 0.5);\n}\n\n.temp2025-block .summary-title { font-size: 20px; font-weight: bold; }\n.temp2025-block .summary-value { font-size: 36px; font-weight: bold; }\n.temp2025-block .summary-change {\n    font-size: 18px;\n    font-weight: bold;\n    background-color: rgba(255, 255, 255, 0.2);\n    padding: 8px 16px;\n    border-radius: 20px;\n    display: inline-block;\n}\n\n\/* Legend *\/\n.temp2025-block .legend {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 20px;\n    margin-top: 30px;\n    padding: 20px;\n    background-color: rgba(44, 62, 80, 0.8);\n    border-radius: 8px;\n    border: 1px solid #4a6572;\n}\n\n.temp2025-block .legend-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n}\n\n.temp2025-block .color-box {\n    width: 20px;\n    height: 20px;\n    border-radius: 4px;\n}\n\n.temp2025-block .color-more { background-color: rgba(231, 76, 60, 0.2); border: 2px solid #e74c3c; }\n.temp2025-block .color-less { background-color: rgba(149,165,166,0.2); border: 2px solid #95a5a6; }\n.temp2025-block .color-slightly { background-color: rgba(46,204,113,0.2); border: 2px solid #2ecc71; }\n.temp2025-block .color-much { background-color: rgba(241,196,15,0.2); border: 2px solid #f1c40f; }\n.temp2025-block .color-total { background-color: #2c3e50; border: 2px solid #e74c3c; }\n\n\/* Note *\/\n.temp2025-block .note {\n    background-color: rgba(52, 152, 219, 0.1);\n    padding: 15px;\n    border-radius: 8px;\n    margin-top: 20px;\n    border-left: 4px solid #3498db;\n    font-size: 14px;\n    color: #ecf0f1;\n    border: 1px solid rgba(52, 152, 219, 0.3);\n}\n<\/style>\n\n<!-- BEGIN CONTENT -->\n<div class=\"container\">\n\n    <h1>Temperatuur 2025 vs. Langjarig Gemiddelde<\/h1>\n    <p class=\"subtitle\">Vergelijking in graden Celsius per maand | <strong>Gemiddelde 2025: 5,9\u00b0C (+0,8\u00b0C, +16%)<\/strong><\/p>\n\n    <div class=\"summary-box\">\n        <div class=\"summary-title\">\ud83c\udf21\ufe0f Gemiddelde Temperatuur 2025<\/div>\n        <div class=\"summary-value\">5,9\u00b0C<\/div>\n        <div class=\"summary-change\">+0,8\u00b0C (+16%) t.o.v. langjarig gemiddelde<\/div>\n    <\/div>\n\n<table>\n            <thead>\n                <tr>\n                    <th>Maand<\/th>\n                    <th>Langjarig Gemiddelde<\/th>\n                    <th>Temperatuur 2025<\/th>\n                    <th>Verschil<\/th>\n                    <th>Verschil (%)<\/th>\n                    <th>Status<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <tr class=\"less-temp\">\n                    <td class=\"month-cell\">Januari<\/td>\n                    <td class=\"data-value\">2,3\u00b0C<\/td>\n                    <td class=\"data-value\">2,0\u00b0C<\/td>\n                    <td class=\"difference\">-0,3\u00b0C<\/td>\n                    <td class=\"negative-percent\">-12%<\/td>\n                    <td><span class=\"status-indicator status-less\">Kouder<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-temp\">\n                    <td class=\"month-cell\">Februari<\/td>\n                    <td class=\"data-value\">3,3\u00b0C<\/td>\n                    <td class=\"data-value\">3,8\u00b0C<\/td>\n                    <td class=\"difference\">+0,5\u00b0C<\/td>\n                    <td class=\"positive-percent\">+14%<\/td>\n                    <td><span class=\"status-indicator status-more\">Warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"much-more\">\n                    <td class=\"month-cell\">Maart<\/td>\n                    <td class=\"data-value\">5,1\u00b0C<\/td>\n                    <td class=\"data-value\">8,1\u00b0C<\/td>\n                    <td class=\"difference\">+3,0\u00b0C<\/td>\n                    <td class=\"positive-percent\">+60%<\/td>\n                    <td><span class=\"status-indicator status-much\">Veel warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-temp\">\n                    <td class=\"month-cell\">April<\/td>\n                    <td class=\"data-value\">7,0\u00b0C<\/td>\n                    <td class=\"data-value\">8,9\u00b0C<\/td>\n                    <td class=\"difference\">+1,9\u00b0C<\/td>\n                    <td class=\"positive-percent\">+26%<\/td>\n                    <td><span class=\"status-indicator status-more\">Warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-temp\">\n                    <td class=\"month-cell\">Mei<\/td>\n                    <td class=\"data-value\">7,5\u00b0C<\/td>\n                    <td class=\"data-value\">9,4\u00b0C<\/td>\n                    <td class=\"difference\">+1,9\u00b0C<\/td>\n                    <td class=\"positive-percent\">+25%<\/td>\n                    <td><span class=\"status-indicator status-more\">Warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-temp\">\n                    <td class=\"month-cell\">Juni<\/td>\n                    <td class=\"data-value\">7,7\u00b0C<\/td>\n                    <td class=\"data-value\">9,2\u00b0C<\/td>\n                    <td class=\"difference\">+1,5\u00b0C<\/td>\n                    <td class=\"positive-percent\">+18%<\/td>\n                    <td><span class=\"status-indicator status-more\">Warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"slightly-more\">\n                    <td class=\"month-cell\">Juli<\/td>\n                    <td class=\"data-value\">7,4\u00b0C<\/td>\n                    <td class=\"data-value\">7,6\u00b0C<\/td>\n                    <td class=\"difference\">+0,2\u00b0C<\/td>\n                    <td class=\"positive-percent\">+3%<\/td>\n                    <td><span class=\"status-indicator status-slightly\">Licht warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-temp\">\n                    <td class=\"month-cell\">Augustus<\/td>\n                    <td class=\"data-value\">6,7\u00b0C<\/td>\n                    <td class=\"data-value\">7,7\u00b0C<\/td>\n                    <td class=\"difference\">+1,0\u00b0C<\/td>\n                    <td class=\"positive-percent\">+14%<\/td>\n                    <td><span class=\"status-indicator status-more\">Warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-temp\">\n                    <td class=\"month-cell\">September<\/td>\n                    <td class=\"data-value\">5,8\u00b0C<\/td>\n                    <td class=\"data-value\">6,5\u00b0C<\/td>\n                    <td class=\"difference\">+0,7\u00b0C<\/td>\n                    <td class=\"positive-percent\">+12%<\/td>\n                    <td><span class=\"status-indicator status-more\">Warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"less-temp\">\n                    <td class=\"month-cell\">Oktober<\/td>\n                    <td class=\"data-value\">4,0\u00b0C<\/td>\n                    <td class=\"data-value\">2,8\u00b0C<\/td>\n                    <td class=\"difference\">-1,2\u00b0C<\/td>\n                    <td class=\"negative-percent\">-32%<\/td>\n                    <td><span class=\"status-indicator status-less\">Kouder<\/span><\/td>\n                <\/tr>\n                <tr class=\"slightly-more\">\n                    <td class=\"month-cell\">November<\/td>\n                    <td class=\"data-value\">2,5\u00b0C<\/td>\n                    <td class=\"data-value\">2,6\u00b0C<\/td>\n                    <td class=\"difference\">+0,1\u00b0C<\/td>\n                    <td class=\"positive-percent\">+7%<\/td>\n                    <td><span class=\"status-indicator status-slightly\">Licht warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"slightly-more\">\n                    <td class=\"month-cell\">December<\/td>\n                    <td class=\"data-value\">1,8\u00b0C<\/td>\n                    <td class=\"data-value\">1,9\u00b0C<\/td>\n                    <td class=\"difference\">+0,1\u00b0C<\/td>\n                    <td class=\"positive-percent\">+3%<\/td>\n                    <td><span class=\"status-indicator status-slightly\">Licht warmer<\/span><\/td>\n                <\/tr>\n                <tr class=\"total-row\">\n                    <td class=\"month-cell\">Gemiddelde 2025<\/td>\n                    <td class=\"data-value\">5,1\u00b0C<\/td>\n                    <td class=\"data-value\">5,9\u00b0C<\/td>\n                    <td class=\"difference\">+0,8\u00b0C<\/td>\n                    <td class=\"positive-percent\">+16%<\/td>\n                    <td><span class=\"status-indicator status-more\">Warmer jaar<\/span><\/td>\n                <\/tr>\n            <\/tbody>\n        <\/table>\n        \n        <div class=\"note\">\n            <strong>Opmerking:<\/strong> De verschillen zijn berekend op basis van de werkelijke temperatuur in graden Celsius. De procentuele verschillen geven de relatieve verandering weer ten opzichte van het langjarig gemiddelde.\n        <\/div>\n        \n        <div class=\"legend\">\n            <div class=\"legend-item\">\n                <div class=\"color-box color-more\"><\/div>\n                <span>Warmer in 2025<\/span>\n            <\/div>\n            <div class=\"legend-item\">\n                <div class=\"color-box color-less\"><\/div>\n                <span>Kouder in 2025<\/span>\n            <\/div>\n            <div class=\"legend-item\">\n                <div class=\"color-box color-slightly\"><\/div>\n                <span>Licht warmer in 2025<\/span>\n            <\/div>\n            <div class=\"legend-item\">\n                <div class=\"color-box color-much\"><\/div>\n                <span>Veel warmer in 2025<\/span>\n            <\/div>\n            <div class=\"legend-item\">\n                <div class=\"color-box color-total\"><\/div>\n                <span>Jaargemiddelde<\/span>\n            <\/div>\n        <\/div>\n        \n        <div class=\"footer\">\n            <p>Data weergegeven in graden Celsius | Rood = warmer, Grijs = kouder | <span style=\"color:#e74c3c;\">Bron: KNMI<\/span><\/p>\n        <\/div>\n    <\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_e2794d-f4 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_e2794d-f4 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_e2794d-f4\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u2600\ufe0f <strong>Zonneschijnduur 2025: +282 uur (+15%)<\/strong><\/h2>\n\n\n\n<p>2025 telde in totaal <strong>2.143 zonuren<\/strong>, tegenover een langjarig gemiddelde van <strong>1.861 uur<\/strong>. Vooral maart, april, mei en december sprongen eruit met forse overschrijdingen.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Meerdere maanden zaten <strong>20\u201360% boven normaal<\/strong><\/li>\n\n\n\n<li>Slechts twee maanden hadden minder zon dan gemiddeld<\/li>\n\n\n\n<li>De lente was uitzonderlijk zonnig, ideaal voor zonnepanelen<\/li>\n<\/ul>\n\n\n\n<p>Deze extra zonuren zijn d\u00e9 verklaring voor de hogere opbrengst van zonnepanelen in 2025. <\/p>\n\n\n\n<div class=\"sun2025-block\">\n\n<style>\n\/* --- ISOLATIE: ALLE STYLING BLIJFT BINNEN .sun2025-block --- *\/\n.sun2025-block * {\n    box-sizing: border-box;\n    font-family: 'Segoe UI', Arial, sans-serif;\n}\n\n\/* Container *\/\n.sun2025-block .container {\n    max-width: 1000px;\n    margin: 0 auto;\n    background-color: #34495e;\n    border-radius: 8px;\n    padding: 25px;\n    overflow-x: auto;\n    border: 1px solid #4a6572;\n    color: #ecf0f1;\n}\n\n\/* Koppen *\/\n.sun2025-block h1 {\n    color: #ecf0f1;\n    margin-bottom: 10px;\n    font-size: 28px;\n    text-align: center;\n    font-weight: 600;\n}\n\n.sun2025-block .subtitle {\n    color: #bdc3c7;\n    text-align: center;\n    margin-bottom: 30px;\n    font-size: 16px;\n}\n\n\/* Tabellen *\/\n.sun2025-block table {\n    width: 100%;\n    border-collapse: collapse;\n    margin: 25px 0;\n    font-size: 15px;\n    border: 1px solid #4a6572;\n}\n\n.sun2025-block th {\n    background-color: #2c3e50;\n    color: white;\n    font-weight: 600;\n    text-align: center;\n    padding: 16px 12px;\n    border: 1px solid #4a6572;\n}\n\n.sun2025-block td {\n    padding: 14px 12px;\n    border: 1px solid #4a6572;\n    text-align: center;\n    color: #ecf0f1;\n}\n\n.sun2025-block tr:nth-child(even) {\n    background-color: rgba(52, 73, 94, 0.7);\n}\n\n.sun2025-block tr:hover {\n    background-color: rgba(52, 152, 219, 0.1);\n}\n\n\/* Kleuren per status *\/\n.sun2025-block .more-sun { background-color: rgba(243, 156, 18, 0.15); }\n.sun2025-block .less-sun { background-color: rgba(149, 165, 166, 0.15); }\n.sun2025-block .slightly-more { background-color: rgba(46, 204, 113, 0.1); }\n\n.sun2025-block .difference { font-weight: bold; }\n\n\/* Status badges *\/\n.sun2025-block .status-indicator {\n    display: inline-block;\n    padding: 4px 12px;\n    border-radius: 12px;\n    font-size: 13px;\n    font-weight: 600;\n    min-width: 100px;\n    text-align: center;\n}\n\n.sun2025-block .status-more {\n    background-color: rgba(243, 156, 18, 0.2);\n    color: #f39c12;\n    border: 1px solid rgba(243, 156, 18, 0.4);\n}\n\n.sun2025-block .status-less {\n    background-color: rgba(149, 165, 166, 0.2);\n    color: #95a5a6;\n    border: 1px solid rgba(149, 165, 166, 0.4);\n}\n\n.sun2025-block .status-slightly {\n    background-color: rgba(46, 204, 113, 0.2);\n    color: #2ecc71;\n    border: 1px solid rgba(46, 204, 113, 0.4);\n}\n\n.sun2025-block .status-much-more {\n    background-color: rgba(241, 196, 15, 0.2);\n    color: #f1c40f;\n    border: 1px solid rgba(241, 196, 15, 0.4);\n}\n\n\/* Summary box *\/\n.sun2025-block .summary-box {\n    background: linear-gradient(135deg, rgba(243, 156, 18, 0.9), rgba(211, 84, 0, 0.9));\n    border-radius: 10px;\n    padding: 20px;\n    color: white;\n    text-align: center;\n    margin: 20px auto;\n    max-width: 600px;\n    border: 1px solid rgba(243, 156, 18, 0.5);\n}\n\n.sun2025-block .summary-title { font-size: 20px; font-weight: bold; }\n.sun2025-block .summary-value { font-size: 36px; font-weight: bold; }\n.sun2025-block .summary-change {\n    font-size: 18px;\n    font-weight: bold;\n    background-color: rgba(255, 255, 255, 0.2);\n    padding: 8px 16px;\n    border-radius: 20px;\n    display: inline-block;\n}\n\n\/* Legend *\/\n.sun2025-block .legend {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 20px;\n    margin-top: 30px;\n    padding: 20px;\n    background-color: rgba(44, 62, 80, 0.8);\n    border-radius: 8px;\n    border: 1px solid #4a6572;\n}\n\n.sun2025-block .legend-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n}\n\n.sun2025-block .color-box {\n    width: 20px;\n    height: 20px;\n    border-radius: 4px;\n}\n\n.sun2025-block .color-more { background-color: rgba(243, 156, 18, 0.2); border: 2px solid #f39c12; }\n.sun2025-block .color-less { background-color: rgba(149,165,166,0.2); border: 2px solid #95a5a6; }\n.sun2025-block .color-slightly { background-color: rgba(46,204,113,0.2); border: 2px solid #2ecc71; }\n.sun2025-block .color-total { background-color: #2c3e50; border: 2px solid #f39c12; }\n\n\/* Note *\/\n.sun2025-block .note {\n    background-color: rgba(52, 152, 219, 0.1);\n    padding: 15px;\n    border-radius: 8px;\n    margin-top: 20px;\n    border-left: 4px solid #3498db;\n    font-size: 14px;\n    color: #ecf0f1;\n    border: 1px solid rgba(52, 152, 219, 0.3);\n}\n<\/style>\n\n<!-- BEGIN CONTENT -->\n<div class=\"container\">\n\n    <h1>Zonneschijnduur 2025 vs. Langjarig Gemiddelde<\/h1>\n    <p class=\"subtitle\">Vergelijking in uren per maand | <strong>Totaal 2025: 2.143 uur (+282 uur, +15%)<\/strong><\/p>\n\n    <div class=\"summary-box\">\n        <div class=\"summary-title\">\u2600\ufe0f Totale Zonneschijnduur 2025<\/div>\n        <div class=\"summary-value\">2.143 uur<\/div>\n        <div class=\"summary-change\">+282 uur (+15%) t.o.v. langjarig gemiddelde<\/div>\n    <\/div>\n\n <table>\n            <thead>\n                <tr>\n                    <th>Maand<\/th>\n                    <th>Langjarig Gemiddelde<\/th>\n                    <th>Zonneschijnduur 2025<\/th>\n                    <th>Verschil<\/th>\n                    <th>Verschil (%)<\/th>\n                    <th>Status<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <tr class=\"less-sun\">\n                    <td class=\"month-cell\">Januari<\/td>\n                    <td class=\"data-value\">70 uur<\/td>\n                    <td class=\"data-value\">59 uur<\/td>\n                    <td class=\"difference\">-11 uur<\/td>\n                    <td class=\"negative-percent\">-15%<\/td>\n                    <td><span class=\"status-indicator status-less\">Minder zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-sun\">\n                    <td class=\"month-cell\">Februari<\/td>\n                    <td class=\"data-value\">93 uur<\/td>\n                    <td class=\"data-value\">106 uur<\/td>\n                    <td class=\"difference\">+12 uur<\/td>\n                    <td class=\"positive-percent\">+13%<\/td>\n                    <td><span class=\"status-indicator status-more\">Meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-sun\">\n                    <td class=\"month-cell\">Maart<\/td>\n                    <td class=\"data-value\">158 uur<\/td>\n                    <td class=\"data-value\">245 uur<\/td>\n                    <td class=\"difference\">+87 uur<\/td>\n                    <td class=\"positive-percent\">+55%<\/td>\n                    <td><span class=\"status-indicator status-much-more\">Veel meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-sun\">\n                    <td class=\"month-cell\">April<\/td>\n                    <td class=\"data-value\">211 uur<\/td>\n                    <td class=\"data-value\">264 uur<\/td>\n                    <td class=\"difference\">+53 uur<\/td>\n                    <td class=\"positive-percent\">+25%<\/td>\n                    <td><span class=\"status-indicator status-more\">Meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-sun\">\n                    <td class=\"month-cell\">Mei<\/td>\n                    <td class=\"data-value\">232 uur<\/td>\n                    <td class=\"data-value\">284 uur<\/td>\n                    <td class=\"difference\">+52 uur<\/td>\n                    <td class=\"positive-percent\">+22%<\/td>\n                    <td><span class=\"status-indicator status-more\">Meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-sun\">\n                    <td class=\"month-cell\">Juni<\/td>\n                    <td class=\"data-value\">232 uur<\/td>\n                    <td class=\"data-value\">280 uur<\/td>\n                    <td class=\"difference\">+48 uur<\/td>\n                    <td class=\"positive-percent\">+21%<\/td>\n                    <td><span class=\"status-indicator status-more\">Meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"slightly-more\">\n                    <td class=\"month-cell\">Juli<\/td>\n                    <td class=\"data-value\">228 uur<\/td>\n                    <td class=\"data-value\">236 uur<\/td>\n                    <td class=\"difference\">+8 uur<\/td>\n                    <td class=\"positive-percent\">+4%<\/td>\n                    <td><span class=\"status-indicator status-slightly\">Iets meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-sun\">\n                    <td class=\"month-cell\">Augustus<\/td>\n                    <td class=\"data-value\">208 uur<\/td>\n                    <td class=\"data-value\">237 uur<\/td>\n                    <td class=\"difference\">+29 uur<\/td>\n                    <td class=\"positive-percent\">+14%<\/td>\n                    <td><span class=\"status-indicator status-more\">Meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"slightly-more\">\n                    <td class=\"month-cell\">September<\/td>\n                    <td class=\"data-value\">174 uur<\/td>\n                    <td class=\"data-value\">189 uur<\/td>\n                    <td class=\"difference\">+15 uur<\/td>\n                    <td class=\"positive-percent\">+9%<\/td>\n                    <td><span class=\"status-indicator status-slightly\">Iets meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"less-sun\">\n                    <td class=\"month-cell\">Oktober<\/td>\n                    <td class=\"data-value\">125 uur<\/td>\n                    <td class=\"data-value\">85 uur<\/td>\n                    <td class=\"difference\">-40 uur<\/td>\n                    <td class=\"negative-percent\">-32%<\/td>\n                    <td><span class=\"status-indicator status-less\">Minder zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"slightly-more\">\n                    <td class=\"month-cell\">November<\/td>\n                    <td class=\"data-value\">74 uur<\/td>\n                    <td class=\"data-value\">78 uur<\/td>\n                    <td class=\"difference\">+5 uur<\/td>\n                    <td class=\"positive-percent\">+6%<\/td>\n                    <td><span class=\"status-indicator status-slightly\">Iets meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"more-sun\">\n                    <td class=\"month-cell\">December<\/td>\n                    <td class=\"data-value\">56 uur<\/td>\n                    <td class=\"data-value\">80 uur<\/td>\n                    <td class=\"difference\">+24 uur<\/td>\n                    <td class=\"positive-percent\">+43%<\/td>\n                    <td><span class=\"status-indicator status-more\">Meer zon<\/span><\/td>\n                <\/tr>\n                <tr class=\"total-row\">\n                    <td class=\"month-cell\">Totaal<\/td>\n                    <td class=\"data-value\">1.861 uur<\/td>\n                    <td class=\"data-value\">2.143 uur<\/td>\n                    <td class=\"difference\">+282 uur<\/td>\n                    <td class=\"positive-percent\">+15%<\/td>\n                    <td><span class=\"status-indicator status-more\">Zonniger jaar<\/span><\/td>\n                <\/tr>\n            <\/tbody>\n        <\/table>\n        \n        <div class=\"note\">\n            <strong>Opmerking:<\/strong> De verschillen zijn berekend op basis van de werkelijke zonneschijnduur in uren. De procentuele verschillen geven de relatieve verandering weer ten opzichte van het langjarig gemiddelde.\n        <\/div>\n        \n        <div class=\"legend\">\n            <div class=\"legend-item\">\n                <div class=\"color-box color-more\"><\/div>\n                <span>Meer zon in 2025<\/span>\n            <\/div>\n            <div class=\"legend-item\">\n                <div class=\"color-box color-less\"><\/div>\n                <span>Minder zon in 2025<\/span>\n            <\/div>\n            <div class=\"legend-item\">\n                <div class=\"color-box color-slightly\"><\/div>\n                <span>Iets meer zon in 2025<\/span>\n            <\/div>\n            <div class=\"legend-item\">\n                <div class=\"color-box color-total\"><\/div>\n                <span>Jaartotaal<\/span>\n            <\/div>\n        <\/div>\n        \n        <div class=\"footer\">\n            <p>Data weergegeven in uren zonneschijnduur | Oranje = meer zon, Grijs = minder zon | <span style=\"color:#f39c12;\">Bron: KNMI<\/span><\/p>\n        <\/div>\n    <\/div>\n<\/body>\n<\/html>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_c70d76-0e .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_c70d76-0e .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_c70d76-0e\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<p><strong>Alleen 2022 was zonniger \u2014 en dat zegt veel.<\/strong> 2022 staat nog steeds bekend als het absolute recordjaar, met uitzonderlijk veel zonuren verspreid over vrijwel alle seizoenen. Dat 2025 daar zo dicht bij in de buurt komt, onderstreept hoe structureel zonniger het Nederlandse klimaat de afgelopen jaren is geworden. Waar 2022 vooral uitblonk door een extreem zonnige zomer, werd 2025 juist gedragen door een uitzonderlijk sterke lente \u00e9n een opvallend heldere decembermaand. Voor zonnepaneelbezitters betekent dit dat hoge opbrengstjaren geen uitzondering meer zijn, maar steeds vaker de norm lijken te worden.<\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"nl\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Zonneschijn Column Chart met Tabel<\/title>\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n    <style>\n        \/* ALLEEN DEZE STYLING GAAT OVER DE HELE PAGINA *\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n        \n        body {\n            margin: 0;\n            padding: 20px;\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n            background: #f0f2f5; \/* Standaard grijze achtergrond *\/\n            color: #333; \/* Standaard zwarte tekst *\/\n        }\n        \n        .page-container {\n            max-width: 1400px;\n            margin: 0 auto;\n        }\n        \n        \/* ===== ALGEMENE PAGINA STYLING ===== *\/\n        .page-header {\n            text-align: center;\n            padding: 30px;\n            background: white;\n            border-radius: 15px;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.1);\n            margin-bottom: 30px;\n        }\n        \n        .page-header h1 {\n            color: #2c3e50;\n            margin-bottom: 10px;\n            font-size: 2.5rem;\n        }\n        \n        .page-header h1 i {\n            color: #ffcc00;\n            margin-right: 15px;\n        }\n        \n        .page-header .subtitle {\n            color: #7f8c8d;\n            font-size: 1.2rem;\n        }\n        \n        \/* ===== STATISTIEK BOXES ===== *\/\n        .stats-container {\n            background: white;\n            padding: 30px;\n            border-radius: 15px;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.1);\n            margin-bottom: 30px;\n        }\n        \n        .stats-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n            gap: 20px;\n        }\n        \n        .stat-item {\n            text-align: center;\n            padding: 20px;\n            background: #f8f9fa;\n            border-radius: 10px;\n        }\n        \n        .stat-value {\n            font-size: 2.5rem;\n            font-weight: bold;\n            color: #2c3e50;\n        }\n        \n        .stat-label {\n            color: #7f8c8d;\n            margin-top: 10px;\n            font-size: 1rem;\n        }\n        \n        \/* ===== CHART & TABEL CONTAINER ===== *\/\n        .main-content {\n            background: white;\n            padding: 30px;\n            border-radius: 15px;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.1);\n            margin-bottom: 30px;\n        }\n        \n        .content-grid {\n            display: grid;\n            grid-template-columns: 2fr 1fr;\n            gap: 30px;\n        }\n        \n        \/* ===== FOOTER ===== *\/\n        .page-footer {\n            text-align: center;\n            padding: 20px;\n            color: #7f8c8d;\n            font-size: 0.9rem;\n        }\n        \n        @media (max-width: 1024px) {\n            .content-grid {\n                grid-template-columns: 1fr;\n            }\n            \n            .stats-grid {\n                grid-template-columns: repeat(2, 1fr);\n            }\n        }\n        \n        @media (max-width: 768px) {\n            .stats-grid {\n                grid-template-columns: 1fr;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"page-container\">\n        <!-- HEADER -->\n        <header class=\"page-header\">\n            <h1><i class=\"fas fa-sun\"><\/i> Uren Zonneschijn per Jaar<\/h1>\n            <p class=\"subtitle\">Column chart en tabel met jaarlijkse zonneschijnuren in Nederland (2005-2025)<\/p>\n        <\/header>\n        \n        <!-- STATISTIEKEN -->\n        <div class=\"stats-container\">\n            <div class=\"stats-grid\">\n                <div class=\"stat-item\">\n                    <div class=\"stat-value\" id=\"average-hours\">1.875<\/div>\n                    <div class=\"stat-label\">Gemiddeld per jaar<\/div>\n                <\/div>\n                <div class=\"stat-item\">\n                    <div class=\"stat-value\" id=\"max-year\">2022<\/div>\n                    <div class=\"stat-label\">Record: 2.236 uur<\/div>\n                <\/div>\n                <div class=\"stat-item\">\n                    <div class=\"stat-value\" id=\"min-year\">2013<\/div>\n                    <div class=\"stat-label\">Minste zon: 1.703 uur<\/div>\n                <\/div>\n                <div class=\"stat-item\">\n                    <div class=\"stat-value\" id=\"current-year\">2025<\/div>\n                    <div class=\"stat-label\">Huidig jaar: 2.135 uur<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- HOOFD CONTENT -->\n        <div class=\"main-content\">\n            <div class=\"content-grid\">\n                <!-- CHART SECTION -->\n                <div id=\"chart-container\"><\/div>\n                \n                <!-- TABLE SECTION -->\n                <div id=\"table-container\"><\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- FOOTER -->\n        <footer class=\"page-footer\">\n            <p><i class=\"fas fa-info-circle\"><\/i> Hover over een kolom in de chart of klik op een rij in de tabel voor details<\/p>\n        <\/footer>\n    <\/div>\n\n    <!-- TOOLTIP -->\n    <div class=\"chart-tooltip\" id=\"chartTooltip\"><\/div>\n\n    <!-- CHART & TABEL STYLING - VOLLEDIG GE\u00cfSOLEERD MET SHADOW DOM -->\n    <template id=\"chartTemplate\">\n        <style>\n            \/* ALLEEN VOOR DE CHART - GEEN INVLOED BUITEN SHADOW DOM *\/\n            :host {\n                display: block;\n                width: 100%;\n                height: 100%;\n            }\n            \n            .chart-isolated {\n                padding: 20px;\n                border-radius: 15px;\n                background: #f8f9fa;\n                box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.05);\n                height: 100%;\n                overflow: hidden;\n            }\n            \n            .chart-title {\n                text-align: center;\n                color: #2c3e50;\n                margin-bottom: 20px;\n                font-size: 1.3rem;\n                font-weight: 600;\n            }\n            \n            .column-chart {\n                display: flex;\n                align-items: flex-end;\n                justify-content: space-between;\n                height: 300px;\n                padding: 0 10px;\n                position: relative;\n                min-height: 350px;\n            }\n            \n            .column-chart::before {\n                content: '';\n                position: absolute;\n                left: 0;\n                right: 0;\n                bottom: 40px;\n                height: 1px;\n                background: rgba(0, 0, 0, 0.1);\n                z-index: 1;\n            }\n            \n            .chart-column-group {\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                flex: 1;\n                height: 100%;\n                position: relative;\n                z-index: 2;\n            }\n            \n            .chart-column {\n                width: 25px;\n                background: linear-gradient(to top, #4CAF50, #2E7D32);\n                border-radius: 4px 4px 0 0;\n                transition: all 0.3s ease;\n                cursor: pointer;\n                position: relative;\n                box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);\n            }\n            \n            .chart-column:hover {\n                transform: scale(1.05);\n                box-shadow: 0 5px 12px rgba(0, 0, 0, 0.2);\n            }\n            \n            .chart-column.current-year {\n                background: linear-gradient(to top, #2196F3, #0D47A1);\n            }\n            \n            .chart-column.record-year {\n                background: linear-gradient(to top, #FF9800, #F57C00);\n            }\n            \n            .chart-column-value {\n                position: absolute;\n                top: -25px;\n                left: 50%;\n                transform: translateX(-50%);\n                background: #2c3e50;\n                color: white;\n                padding: 2px 6px;\n                border-radius: 3px;\n                font-size: 0.7rem;\n                font-weight: 600;\n                opacity: 0;\n                transition: opacity 0.3s;\n                white-space: nowrap;\n                z-index: 10;\n            }\n            \n            .chart-column:hover .chart-column-value {\n                opacity: 1;\n            }\n            \n            .chart-label {\n                margin-top: 10px;\n                font-size: 0.75rem;\n                color: #2c3e50;\n                font-weight: 600;\n                text-align: center;\n                writing-mode: vertical-rl;\n                transform: rotate(180deg);\n                height: 100px;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n            }\n            \n            .chart-axis {\n                display: flex;\n                justify-content: space-between;\n                padding: 0 10px;\n                margin-top: 10px;\n            }\n            \n            .chart-axis span {\n                font-size: 0.8rem;\n                color: #7f8c8d;\n            }\n            \n            .chart-legend {\n                display: flex;\n                justify-content: center;\n                flex-wrap: wrap;\n                gap: 15px;\n                margin-top: 20px;\n            }\n            \n            .legend-item {\n                display: flex;\n                align-items: center;\n                gap: 8px;\n                font-size: 0.85rem;\n                color: #2c3e50;\n            }\n            \n            .legend-color {\n                width: 15px;\n                height: 15px;\n                border-radius: 3px;\n            }\n            \n            .legend-normal {\n                background: linear-gradient(to top, #4CAF50, #2E7D32);\n            }\n            \n            .legend-current {\n                background: linear-gradient(to top, #2196F3, #0D47A1);\n            }\n            \n            .legend-record {\n                background: linear-gradient(to top, #FF9800, #F57C00);\n            }\n            \n            @media (max-width: 768px) {\n                .column-chart {\n                    height: 250px;\n                    padding: 0 5px;\n                }\n                \n                .chart-column {\n                    width: 18px;\n                }\n                \n                .chart-label {\n                    font-size: 0.65rem;\n                    height: 80px;\n                }\n            }\n        <\/style>\n        \n        <div class=\"chart-isolated\">\n            <div class=\"chart-title\">Zonneschijnuren per Jaar (2005-2025)<\/div>\n            <div class=\"column-chart\" id=\"columnChart\"><\/div>\n            <div class=\"chart-axis\">\n                <span>0 uur<\/span>\n                <span>2.400 uur<\/span>\n            <\/div>\n            \n            <div class=\"chart-legend\">\n                <div class=\"legend-item\">\n                    <div class=\"legend-color legend-normal\"><\/div>\n                    <span>Normale jaren<\/span>\n                <\/div>\n                <div class=\"legend-item\">\n                    <div class=\"legend-color legend-current\"><\/div>\n                    <span>Huidig jaar (2025)<\/span>\n                <\/div>\n                <div class=\"legend-item\">\n                    <div class=\"legend-color legend-record\"><\/div>\n                    <span>Record jaar (2022)<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/template>\n\n    <template id=\"tableTemplate\">\n        <style>\n            \/* ALLEEN VOOR DE TABEL - GEEN INVLOED BUITEN SHADOW DOM *\/\n            :host {\n                display: block;\n                width: 100%;\n                height: 100%;\n            }\n            \n            .table-isolated {\n                padding: 20px;\n                border-radius: 15px;\n                background: #f8f9fa;\n                box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.05);\n                height: 100%;\n                overflow: hidden;\n            }\n            \n            .data-table-container {\n                width: 100%;\n                height: 100%;\n                overflow: auto;\n                max-height: 500px;\n            }\n            \n            .data-table {\n                width: 100%;\n                border-collapse: collapse;\n                font-size: 0.9rem;\n                table-layout: fixed;\n            }\n            \n            .data-table thead {\n                position: sticky;\n                top: 0;\n                z-index: 10;\n            }\n            \n            .data-table th {\n                background: #2c3e50;\n                color: white;\n                padding: 12px;\n                text-align: left;\n                font-weight: 600;\n                border: none;\n            }\n            \n            .data-table th:nth-child(1) { width: 35%; }\n            .data-table th:nth-child(2) { width: 30%; }\n            .data-table th:nth-child(3) { width: 35%; }\n            \n            .data-table td {\n                padding: 12px;\n                border-bottom: 1px solid #eee;\n            }\n            \n            .data-table tr:nth-child(even) {\n                background: #f0f0f0;\n            }\n            \n            .data-table tr:hover {\n                background: #e3f2fd;\n                transition: background 0.3s;\n            }\n            \n            .year-cell {\n                font-weight: bold;\n                color: #2c3e50;\n            }\n            \n            .hours-cell {\n                color: #e67e22;\n                font-weight: 600;\n                text-align: right;\n            }\n            \n            .difference-cell {\n                text-align: right;\n                font-size: 0.9rem;\n            }\n            \n            .record-badge {\n                background: #FF9800;\n                color: white;\n                padding: 3px 8px;\n                border-radius: 12px;\n                font-size: 0.7rem;\n                font-weight: bold;\n                margin-left: 5px;\n                display: inline-block;\n            }\n            \n            .current-badge {\n                background: #2196F3;\n                color: white;\n                padding: 3px 8px;\n                border-radius: 12px;\n                font-size: 0.7rem;\n                font-weight: bold;\n                margin-left: 5px;\n                display: inline-block;\n            }\n            \n            .positive {\n                color: #27ae60;\n                font-weight: 600;\n            }\n            \n            .negative {\n                color: #e74c3c;\n                font-weight: 600;\n            }\n            \n            .record-row {\n                background: #FFF3E0;\n                font-weight: bold;\n            }\n            \n            .current-row {\n                background: #E3F2FD;\n                font-weight: bold;\n            }\n            \n            .active-row {\n                outline: 2px solid #2196F3;\n                outline-offset: -2px;\n            }\n            \n            @media (max-width: 768px) {\n                .data-table th, \n                .data-table td {\n                    padding: 8px;\n                    font-size: 0.85rem;\n                }\n            }\n        <\/style>\n        \n        <div class=\"table-isolated\">\n            <div class=\"data-table-container\">\n                <table class=\"data-table\">\n                    <thead>\n                        <tr>\n                            <th>Jaar<\/th>\n                            <th style=\"text-align: right;\">Uren<\/th>\n                            <th style=\"text-align: right;\">Verschil<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody id=\"tableBody\"><\/tbody>\n                <\/table>\n            <\/div>\n        <\/div>\n    <\/template>\n\n    <style>\n        \/* TOOLTIP STYLING - Licht en buiten Shadow DOM *\/\n        .chart-tooltip {\n            position: fixed;\n            background: rgba(44, 62, 80, 0.95);\n            color: white;\n            padding: 10px 15px;\n            border-radius: 8px;\n            font-size: 0.9rem;\n            pointer-events: none;\n            opacity: 0;\n            transition: opacity 0.3s;\n            z-index: 1000;\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n        }\n        \n        .chart-tooltip.active {\n            opacity: 1;\n        }\n    <\/style>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function() {\n            const sunData = [\n                {year: 2005, hours: 1810},\n                {year: 2006, hours: 1795},\n                {year: 2007, hours: 1733},\n                {year: 2008, hours: 1783},\n                {year: 2009, hours: 1890},\n                {year: 2010, hours: 1770},\n                {year: 2011, hours: 1855},\n                {year: 2012, hours: 1734},\n                {year: 2013, hours: 1703},\n                {year: 2014, hours: 1840},\n                {year: 2015, hours: 1900},\n                {year: 2016, hours: 1877},\n                {year: 2017, hours: 1775},\n                {year: 2018, hours: 2084},\n                {year: 2019, hours: 1961},\n                {year: 2020, hours: 2040},\n                {year: 2021, hours: 1823},\n                {year: 2022, hours: 2236},\n                {year: 2023, hours: 1917},\n                {year: 2024, hours: 1715},\n                {year: 2025, hours: 2135}\n            ];\n            \n            \/\/ Bereken statistieken\n            const hoursArray = sunData.map(item => item.hours);\n            const averageHours = Math.round(hoursArray.reduce((a, b) => a + b, 0) \/ hoursArray.length);\n            const maxHours = Math.max(...hoursArray);\n            const minHours = Math.min(...hoursArray);\n            const maxYear = sunData.find(item => item.hours === maxHours).year;\n            const minYear = sunData.find(item => item.hours === minHours).year;\n            \n            \/\/ Update statistiek boxes\n            document.getElementById('average-hours').textContent = averageHours;\n            document.getElementById('max-year').textContent = maxYear;\n            document.getElementById('min-year').textContent = minYear;\n            \n            \/\/ ===== CHART MET SHADOW DOM =====\n            const chartTemplate = document.getElementById('chartTemplate');\n            const chartHost = document.getElementById('chart-container');\n            const chartShadow = chartHost.attachShadow({mode: 'open'});\n            chartShadow.appendChild(chartTemplate.content.cloneNode(true));\n            \n            \/\/ ===== TABEL MET SHADOW DOM =====\n            const tableTemplate = document.getElementById('tableTemplate');\n            const tableHost = document.getElementById('table-container');\n            const tableShadow = tableHost.attachShadow({mode: 'open'});\n            tableShadow.appendChild(tableTemplate.content.cloneNode(true));\n            \n            \/\/ ===== DATA VERWERKING =====\n            const tooltip = document.getElementById('chartTooltip');\n            const maxChartValue = 2400;\n            \n            \/\/ Vul de chart\n            const chartContainer = chartShadow.querySelector('.column-chart');\n            const tableBody = tableShadow.querySelector('#tableBody');\n            \n            sunData.forEach(item => {\n                const diff = item.hours - averageHours;\n                const diffText = diff >= 0 ? `+${diff}` : diff.toString();\n                const diffClass = diff >= 0 ? 'positive' : 'negative';\n                \n                \/\/ === CHART COLUMN ===\n                const columnGroup = document.createElement('div');\n                columnGroup.className = 'chart-column-group';\n                \n                const heightPercentage = Math.max(5, (item.hours \/ maxChartValue) * 95);\n                \n                const column = document.createElement('div');\n                column.className = 'chart-column';\n                \n                if (item.year === 2025) {\n                    column.classList.add('current-year');\n                } else if (item.year === 2022) {\n                    column.classList.add('record-year');\n                }\n                \n                column.style.height = `${heightPercentage}%`;\n                \n                const columnValue = document.createElement('div');\n                columnValue.className = 'chart-column-value';\n                columnValue.textContent = `${item.hours}`;\n                column.appendChild(columnValue);\n                \n                \/\/ Tooltip events voor chart\n                column.addEventListener('mouseenter', function(e) {\n                    showTooltip(item, this.getBoundingClientRect());\n                });\n                \n                column.addEventListener('mouseleave', function() {\n                    tooltip.classList.remove('active');\n                });\n                \n                const label = document.createElement('div');\n                label.className = 'chart-label';\n                label.textContent = item.year;\n                \n                columnGroup.appendChild(column);\n                columnGroup.appendChild(label);\n                chartContainer.appendChild(columnGroup);\n                \n                \/\/ === TABEL RIJ ===\n                const tableRow = document.createElement('tr');\n                \n                let rowClass = '';\n                let yearBadge = '';\n                \n                if (item.year === 2025) {\n                    rowClass = 'current-row';\n                    yearBadge = '<span class=\"current-badge\">2025<\/span>';\n                }\n                if (item.year === 2022) {\n                    rowClass = 'record-row';\n                    yearBadge = '<span class=\"record-badge\">RECORD<\/span>';\n                }\n                \n                tableRow.className = rowClass;\n                tableRow.innerHTML = `\n                    <td class=\"year-cell\">${item.year} ${yearBadge}<\/td>\n                    <td class=\"hours-cell\">${item.hours.toLocaleString('nl-NL')} uur<\/td>\n                    <td class=\"difference-cell ${diffClass}\">${diffText} uur<\/td>\n                `;\n                \n                \/\/ Click event voor tabel\n                tableRow.addEventListener('click', function() {\n                    showTooltip(item, this.getBoundingClientRect());\n                    tableShadow.querySelectorAll('.data-table tr').forEach(tr => {\n                        tr.classList.remove('active-row');\n                    });\n                    this.classList.add('active-row');\n                });\n                \n                tableBody.appendChild(tableRow);\n            });\n            \n            \/\/ Functie om tooltip te tonen\n            function showTooltip(item, rect) {\n                const diff = item.hours - averageHours;\n                tooltip.innerHTML = `\n                    <strong>${item.year} ${item.year === 2022 ? '\ud83c\udfc6 RECORD' : ''}${item.year === 2025 ? '\ud83d\udcc5 HUIDIG' : ''}<\/strong><br>\n                    <span style=\"font-size: 1.2em; font-weight: bold;\">${item.hours} zonuren<\/span><br>\n                    ${diff >= 0 ? '+' : ''}${diff} uur ${diff >= 0 ? 'boven' : 'onder'} gemiddeld\n                `;\n                \n                tooltip.style.left = `${rect.left + rect.width \/ 2}px`;\n                tooltip.style.top = `${rect.top - 100}px`;\n                tooltip.classList.add('active');\n            }\n            \n            \/\/ Tooltip volgt muis\n            document.addEventListener('mousemove', function(e) {\n                if (tooltip.classList.contains('active')) {\n                    tooltip.style.left = `${e.clientX + 10}px`;\n                    tooltip.style.top = `${e.clientY - 80}px`;\n                }\n            });\n            \n            \/\/ Animaties voor columns\n            setTimeout(() => {\n                chartShadow.querySelectorAll('.chart-column').forEach(column => {\n                    column.style.transition = 'height 1s ease, transform 0.3s ease';\n                });\n            }, 100);\n        });\n    <\/script>\n<\/body>\n<\/html>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_e1d52a-77 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_e1d52a-77 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_e1d52a-77\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u26a1 <strong>Opbrengst zonnepanelen: +560 kWh (+16%)<\/strong><\/h2>\n\n\n\n<p>Een gemiddeld huishouden met een <strong>4.000 Wp installatie<\/strong> wekt normaal ongeveer <strong>3.500 kWh<\/strong> per jaar op. In 2025 kwam daar gemiddeld <strong>560 kWh<\/strong> bovenop \u2014 een stijging van <strong>16%<\/strong>.<\/p>\n\n\n\n<p>De grootste uitschieters:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Maart: +60%<\/strong><\/li>\n\n\n\n<li><strong>April: +26%<\/strong><\/li>\n\n\n\n<li><strong>Mei: +25%<\/strong><\/li>\n\n\n\n<li><strong>Juni: +18%<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Oktober was de enige echte tegenvaller met <strong>\u201332%<\/strong>, maar dat werd ruimschoots gecompenseerd door de rest van het jaar.<\/p>\n\n\n\n<div class=\"solar2025-block\">\n\n<!-- Chart.js -->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n\n<style>\n\/* ============================\n   ISOLATIE: ALLES BINNEN .solar2025-block\n============================ *\/\n.solar2025-block * {\n    box-sizing: border-box;\n    font-family: 'Segoe UI', Arial, sans-serif;\n}\n\n\/* Container *\/\n.solar2025-block .container {\n    max-width: 1200px;\n    margin: 0 auto;\n    background-color: #34495e;\n    border-radius: 8px;\n    padding: 25px;\n    overflow-x: auto;\n    border: 1px solid #4a6572;\n    color: #ecf0f1;\n}\n\n\/* Koppen *\/\n.solar2025-block h1 {\n    color: #ecf0f1;\n    margin-bottom: 10px;\n    font-size: 28px;\n    text-align: center;\n    font-weight: 600;\n}\n\n.solar2025-block .subtitle {\n    color: #bdc3c7;\n    text-align: center;\n    margin-bottom: 25px;\n    font-size: 16px;\n}\n\n\/* Summary box *\/\n.solar2025-block .summary-box {\n    background: linear-gradient(135deg, rgba(243,156,18,0.9), rgba(211,84,0,0.9));\n    border-radius: 10px;\n    padding: 20px;\n    color: white;\n    text-align: center;\n    margin: 20px auto;\n    max-width: 600px;\n    border: 1px solid rgba(243,156,18,0.5);\n}\n\n.solar2025-block .summary-title { font-size: 20px; font-weight: bold; }\n.solar2025-block .summary-value { font-size: 36px; font-weight: bold; }\n.solar2025-block .summary-change {\n    font-size: 18px;\n    font-weight: bold;\n    background-color: rgba(255,255,255,0.2);\n    padding: 8px 16px;\n    border-radius: 20px;\n}\n\n\/* Chart container *\/\n.solar2025-block .chart-container {\n    position: relative;\n    height: 500px;\n    margin: 30px 0;\n    background-color: rgba(44,62,80,0.5);\n    border-radius: 8px;\n    border: 1px solid #4a6572;\n}\n\n\/* Buttons *\/\n.solar2025-block .chart-controls {\n    display: flex;\n    justify-content: center;\n    gap: 15px;\n    margin: 20px 0;\n    flex-wrap: wrap;\n}\n\n.solar2025-block .chart-btn {\n    padding: 10px 20px;\n    background-color: rgba(52,152,219,0.8);\n    color: white;\n    border: 1px solid rgba(52,152,219,0.5);\n    border-radius: 6px;\n    cursor: pointer;\n    font-weight: 600;\n    transition: all 0.3s;\n}\n\n.solar2025-block .chart-btn:hover {\n    background-color: rgba(52,152,219,1);\n    transform: translateY(-2px);\n}\n\n.solar2025-block .chart-btn.active {\n    background-color: #2c3e50;\n    border-color: #3498db;\n}\n\n\/* Tabellen *\/\n.solar2025-block .data-table {\n    width: 100%;\n    border-collapse: collapse;\n    margin: 30px 0;\n    font-size: 15px;\n    border: 1px solid #4a6572;\n}\n\n.solar2025-block .data-table th {\n    background-color: #2c3e50;\n    color: #ecf0f1;\n    font-weight: 600;\n    text-align: center;\n    padding: 16px 12px;\n    border: 1px solid #4a6572;\n}\n\n.solar2025-block .data-table td {\n    padding: 14px 12px;\n    border: 1px solid #4a6572;\n    text-align: center;\n    color: #ecf0f1;\n}\n\n.solar2025-block .data-table tr:nth-child(even) {\n    background-color: rgba(52,73,94,0.7);\n}\n\n.solar2025-block .data-table tr:hover {\n    background-color: rgba(52,152,219,0.1);\n}\n\n.solar2025-block .month-cell {\n    font-weight: 600;\n    text-align: left;\n}\n\n.solar2025-block .positive { color: #2ecc71; font-weight: bold; }\n.solar2025-block .negative { color: #e74c3c; font-weight: bold; }\n\n.solar2025-block .total-row {\n    background-color: #2c3e50;\n    color: white;\n    font-weight: bold;\n    border-top: 2px solid #f39c12;\n}\n\n\/* Legend *\/\n.solar2025-block .legend {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 20px;\n    margin-top: 25px;\n    padding: 20px;\n    background-color: rgba(44,62,80,0.8);\n    border-radius: 8px;\n    border: 1px solid #4a6572;\n}\n\n.solar2025-block .legend-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n}\n\n.solar2025-block .color-box {\n    width: 20px;\n    height: 20px;\n    border-radius: 4px;\n}\n\n.solar2025-block .color-2025 { background-color: rgba(52,152,219,0.8); border: 2px solid #3498db; }\n.solar2025-block .color-longterm { background-color: rgba(231,76,60,0.8); border: 2px solid #e74c3c; }\n.solar2025-block .color-total { background-color: #2c3e50; border: 2px solid #f39c12; }\n\n\/* Footer *\/\n.solar2025-block .footer {\n    text-align: center;\n    margin-top: 20px;\n    color: #bdc3c7;\n    font-size: 14px;\n    padding-top: 15px;\n    border-top: 1px solid #4a6572;\n}\n<\/style>\n\n<!-- ============================\n     HTML STRUCTUUR\n============================ -->\n<div class=\"container\">\n\n    <h1>Opbrengst Zonnepanelen 2025 vs. Langjarig Gemiddelde<\/h1>\n    <p class=\"subtitle\">Maandelijkse opbrengst in kWh | <strong>Totaal 2025: 4.060 kWh (+560 kWh, +16%)<\/strong><\/p>\n\n    <div class=\"summary-box\">\n        <div class=\"summary-title\">\u26a1 Totale Opbrengst Zonnepanelen 2025<\/div>\n        <div class=\"summary-value\">4.060 kWh<\/div>\n        <div class=\"summary-change\">+560 kWh (+16%) t.o.v. langjarig gemiddelde<\/div>\n    <\/div>\n\n    <div class=\"chart-controls\">\n        <button class=\"chart-btn active\" id=\"btnCombined\">Gecombineerde weergave<\/button>\n        <button class=\"chart-btn\" id=\"btnBars\">Alleen kolommen<\/button>\n        <button class=\"chart-btn\" id=\"btnLine\">Alleen lijn<\/button>\n        <button class=\"chart-btn\" id=\"btnDifference\">Verschillen<\/button>\n    <\/div>\n\n    <div class=\"chart-container\">\n        <canvas id=\"solarChart\"><\/canvas>\n    <\/div>\n\n    <!-- ============================\n         TABEL\n    ============================ -->\n    <table class=\"data-table\">\n        <thead>\n            <tr>\n                <th>Maand<\/th>\n                <th>Langjarig Gemiddelde (kWh)<\/th>\n                <th>Opbrengst 2025 (kWh)<\/th>\n                <th>Verschil (kWh)<\/th>\n                <th>Verschil (%)<\/th>\n            <\/tr>\n        <\/thead>\n        <tbody>\n            <tr><td class=\"month-cell\">Januari<\/td><td>70<\/td><td>59<\/td><td class=\"negative\">-11<\/td><td class=\"negative\">-15%<\/td><\/tr>\n            <tr><td class=\"month-cell\">Februari<\/td><td>123<\/td><td>138<\/td><td class=\"positive\">+16<\/td><td class=\"positive\">+13%<\/td><\/tr>\n            <tr><td class=\"month-cell\">Maart<\/td><td>256<\/td><td>397<\/td><td class=\"positive\">+141<\/td><td class=\"positive\">+55%<\/td><\/tr>\n            <tr><td class=\"month-cell\">April<\/td><td>403<\/td><td>503<\/td><td class=\"positive\">+101<\/td><td class=\"positive\">+25%<\/td><\/tr>\n            <tr><td class=\"month-cell\">Mei<\/td><td>525<\/td><td>642<\/td><td class=\"positive\">+117<\/td><td class=\"positive\">+22%<\/td><\/tr>\n            <tr><td class=\"month-cell\">Juni<\/td><td>536<\/td><td>646<\/td><td class=\"positive\">+110<\/td><td class=\"positive\">+21%<\/td><\/tr>\n            <tr><td class=\"month-cell\">Juli<\/td><td>525<\/td><td>544<\/td><td class=\"positive\">+19<\/td><td class=\"positive\">+4%<\/td><\/tr>\n            <tr><td class=\"month-cell\">Augustus<\/td><td>448<\/td><td>510<\/td><td class=\"positive\">+62<\/td><td class=\"positive\">+14%<\/td><\/tr>\n            <tr><td class=\"month-cell\">September<\/td><td>301<\/td><td>328<\/td><td class=\"positive\">+27<\/td><td class=\"positive\">+9%<\/td><\/tr>\n            <tr><td class=\"month-cell\">Oktober<\/td><td>182<\/td><td>124<\/td><td class=\"negative\">-58<\/td><td class=\"negative\">-32%<\/td><\/tr>\n            <tr><td class=\"month-cell\">November<\/td><td>81<\/td><td>85<\/td><td class=\"positive\">+5<\/td><td class=\"positive\">+6%<\/td><\/tr>\n            <tr><td class=\"month-cell\">December<\/td><td>53<\/td><td>75<\/td><td class=\"positive\">+22<\/td><td class=\"positive\">42%<\/td><\/tr>\n            <tr class=\"total-row\"><td class=\"month-cell\">Totaal<\/td><td>3.500<\/td><td>4.060<\/td><td class=\"positive\">+560<\/td><td class=\"positive\">+16%<\/td><\/tr>\n        <\/tbody>\n    <\/table>\n\n    <!-- Legend -->\n    <div class=\"legend\">\n        <div class=\"legend-item\"><div class=\"color-box color-2025\"><\/div><span>Opbrengst 2025 (kolommen)<\/span><\/div>\n        <div class=\"legend-item\"><div class=\"color-box color-longterm\"><\/div><span>Langjarig gemiddelde (lijn)<\/span><\/div>\n        <div class=\"legend-item\"><div class=\"color-box color-total\"><\/div><span>Jaartotaal<\/span><\/div>\n    <\/div>\n\n    <div class=\"footer\">\n        <p>Interactieve grafiek \u2014 Klik op de knoppen om de weergave te wijzigen | <span style=\"color:#f39c12;\">Bron: energienerds.nl<\/span><\/p>\n    <\/div>\n\n<\/div>\n\n<!-- ============================\n     SCRIPT\n============================ -->\n<script>\nconst months = ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'];\nconst longTermData = [70,123,256,403,525,536,525,448,301,182,81,53];\nconst year2025Data = [59,138,397,503,642,646,544,510,328,124,85,75];\nconst differenceData = [-11,16,141,101,117,110,19,62,27,-58,5,22];\n\nconst color2025 = 'rgba(52,152,219,0.8)';\nconst color2025Border = 'rgba(41,128,185,1)';\nconst colorLongTerm = 'rgba(231,76,60,0.9)';\nconst colorDifferencePos = 'rgba(46,204,113,0.8)';\nconst colorDifferenceNeg = 'rgba(231,76,60,0.8)';\nconst colorDifferenceBorder = 'rgba(39,174,96,1)';\nconst colorDifferenceNegBorder = 'rgba(192,57,43,1)';\n\nconst ctx = document.getElementById('solarChart').getContext('2d');\n\nconst differenceColors = differenceData.map(v => v >= 0 ? colorDifferencePos : colorDifferenceNeg);\nconst differenceBorderColors = differenceData.map(v => v >= 0 ? colorDifferenceBorder : colorDifferenceNegBorder);\n\nlet solarChart = new Chart(ctx, {\n    type: 'bar',\n    data: {\n        labels: months,\n        datasets: [\n            {\n                label: 'Opbrengst 2025',\n                data: year2025Data,\n                backgroundColor: color2025,\n                borderColor: color2025Border,\n                borderWidth: 2,\n                yAxisID: 'y'\n            },\n            {\n                label: 'Langjarig gemiddelde',\n                data: longTermData,\n                type: 'line',\n                borderColor: colorLongTerm,\n                backgroundColor: 'transparent',\n                borderWidth: 3,\n                pointRadius: 5,\n                pointBackgroundColor: colorLongTerm,\n                pointBorderColor: '#ecf0f1',\n                pointBorderWidth: 2,\n                tension: 0.1,\n                yAxisID: 'y'\n            }\n        ]\n    },\n    options: {\n        responsive: true,\n        maintainAspectRatio: false,\n        plugins: {\n            legend: {\n                position: 'top',\n                labels: { color: '#ecf0f1', font: { size: 14 }, padding: 20 }\n            },\n            tooltip: {\n                mode: 'index',\n                intersect: false,\n                backgroundColor: 'rgba(44,62,80,0.9)',\n                titleColor: '#ecf0f1',\n                bodyColor: '#ecf0f1',\n                borderColor: '#4a6572',\n                borderWidth: 1,\n                callbacks: {\n                    label: function(context) {\n                        return context.dataset.label + ': ' + context.parsed.y + ' kWh';\n                    }\n                }\n            }\n        },\n        scales: {\n            x: {\n                title: { display: true, text: 'Maand', color: '#ecf0f1', font: { size: 14, weight: 'bold' } },\n                ticks: { color: '#bdc3c7', font: { size: 12 } },\n                grid: { color: '#4a6572' }\n            },\n            y: {\n                title: { display: true, text: 'Opbrengst (kWh)', color: '#ecf0f1', font: { size: 14, weight: 'bold' } },\n                beginAtZero: true,\n                ticks: {\n                    color: '#bdc3c7',\n                    font: { size: 12 },\n                    callback: v => v + ' kWh'\n                },\n                grid: { color: '#4a6572' }\n            }\n        },\n        interaction: { intersect: false, mode: 'index' }\n    }\n});\n\nfunction changeChartType(type) {\n    if (type === 'combined') {\n        solarChart.data.datasets = [\n            {\n                label: 'Opbrengst 2025',\n                data: year2025Data,\n                backgroundColor: color2025,\n                borderColor: color2025Border,\n                borderWidth: 2,\n                yAxisID: 'y'\n            },\n            {\n                label: 'Langjarig gemiddelde',\n                data: longTermData,\n                type: 'line',\n                borderColor: colorLongTerm,\n                backgroundColor: 'transparent',\n                borderWidth: 3,\n                pointRadius: 5,\n                pointBackgroundColor: colorLongTerm,\n                pointBorderColor: '#ecf0f1',\n                pointBorderWidth: 2,\n                tension: 0.1,\n                yAxisID: 'y'\n            }\n        ];\n        solarChart.options.scales.y.title.text = 'Opbrengst (kWh)';\n    } \n    else if (type === 'bars') {\n        solarChart.data.datasets = [\n            {\n                label: 'Opbrengst 2025',\n                data: year2025Data,\n                backgroundColor: color2025,\n                borderColor: color2025Border,\n                borderWidth: 2,\n                yAxisID: 'y'\n            },\n            {\n                label: 'Langjarig gemiddelde',\n                data: longTermData,\n                backgroundColor: 'rgba(231,76,60,0.7)',\n                borderColor: 'rgba(192,57,43,1)',\n                borderWidth: 2,\n                yAxisID: 'y'\n            }\n        ];\n        solarChart.options.scales\n    } \n    else if (type === 'line') {\n        solarChart.data.datasets = [\n            {\n                label: 'Opbrengst 2025',\n                data: year2025Data,\n                type: 'line',\n                borderColor: color2025,\n                backgroundColor: 'transparent',\n                borderWidth: 3,\n                pointRadius: 5,\n                pointBackgroundColor: color2025,\n                pointBorderColor: '#ecf0f1',\n                pointBorderWidth: 2,\n                tension: 0.1,\n                yAxisID: 'y'\n            },\n            {\n                label: 'Langjarig gemiddelde',\n                data: longTermData,\n                type: 'line',\n                borderColor: colorLongTerm,\n                backgroundColor: 'transparent',\n                borderWidth: 3,\n                pointRadius: 5,\n                pointBackgroundColor: colorLongTerm,\n                pointBorderColor: '#ecf0f1',\n                pointBorderWidth: 2,\n                tension: 0.1,\n                yAxisID: 'y'\n            }\n        ];\n        solarChart.options.scales.y.title.text = 'Opbrengst (kWh)';\n    } \n    else if (type === 'difference') {\n        solarChart.data.datasets = [\n            {\n                label: 'Verschil 2025 t.o.v. gemiddelde',\n                data: differenceData,\n                backgroundColor: differenceColors,\n                borderColor: differenceBorderColors,\n                borderWidth: 2,\n                yAxisID: 'y'\n            }\n        ];\n        solarChart.options.scales.y.title.text = 'Verschil (kWh)';\n    }\n\n    solarChart.update();\n}\n\n\/\/ Event listeners voor de knoppen\ndocument.getElementById('btnCombined').addEventListener('click', function() {\n    setActiveButton(this);\n    changeChartType('combined');\n});\n\ndocument.getElementById('btnBars').addEventListener('click', function() {\n    setActiveButton(this);\n    changeChartType('bars');\n});\n\ndocument.getElementById('btnLine').addEventListener('click', function() {\n    setActiveButton(this);\n    changeChartType('line');\n});\n\ndocument.getElementById('btnDifference').addEventListener('click', function() {\n    setActiveButton(this);\n    changeChartType('difference');\n});\n\n\/\/ Helper functie voor actieve knop\nfunction setActiveButton(activeBtn) {\n    document.querySelectorAll('.solar2025-block .chart-btn').forEach(btn => {\n        btn.classList.remove('active');\n    });\n    activeBtn.classList.add('active');\n}\n\n\/\/ Tooltip voor verschillen\nsolarChart.options.plugins.tooltip.callbacks.afterBody = function(context) {\n    if (context[0].dataset.label === 'Verschil 2025 t.o.v. gemiddelde') {\n        const index = context[0].dataIndex;\n        const diff = differenceData[index];\n        const percentage = diff >= 0 \n            ? '+' + Math.round((diff \/ longTermData[index]) * 100) + '%' \n            : Math.round((diff \/ longTermData[index]) * 100) + '%';\n\n        return [\n            `Langjarig: ${longTermData[index]} kWh`,\n            `2025: ${year2025Data[index]} kWh`,\n            `Percentage: ${percentage}`\n        ];\n    } \n    else if (context.length > 1) {\n        const index = context[0].dataIndex;\n        const diff = differenceData[index];\n        const diffText = diff >= 0 ? '+' + diff : diff;\n        const percentage = diff >= 0 \n            ? '+' + Math.round((diff \/ longTermData[index]) * 100) + '%' \n            : Math.round((diff \/ longTermData[index]) * 100) + '%';\n\n        return `Verschil: ${diffText} kWh (${percentage})`;\n    }\n    return '';\n};\n\n\/\/ Update tooltip callback\nsolarChart.update();\n<\/script>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_32adfe-04 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_32adfe-04 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_32adfe-04\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd0b <strong>Impact voor huishoudens met een thuisbatterij<\/strong><\/h2>\n\n\n\n<p>Voor batterijbezitters was 2025 een bijzonder gunstig jaar. De combinatie van veel zon en lage (soms negatieve) dynamische tarieven zorgde voor:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Veel dagen waarop de batterij volledig vol raakte<\/li>\n\n\n\n<li>Structurele overproductie in de lente en zomer<\/li>\n\n\n\n<li>Minder teruglevering op momenten met lage of negatieve prijzen<\/li>\n\n\n\n<li>Meer zelfconsumptie \u2192 hogere financi\u00eble waarde<\/li>\n<\/ul>\n\n\n\n<p>Een batterij voorkomt dat je moet terugleveren tegen \u20ac0,00 of zelfs negatieve prijzen. In plaats daarvan kun je de stroom later gebruiken wanneer tarieven hoger liggen.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_3198ab-3c .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_3198ab-3c .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_3198ab-3c\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcb6 <strong>Financi\u00eble impact: afhankelijk van je contract<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Vast contract \/ volledige saldering<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Waarde per kWh: <strong>\u20ac0,25 \u2013 \u20ac0,30<\/strong><\/li>\n\n\n\n<li>Extra opbrengst door 560 kWh: <strong>\u20ac125 \u2013 \u20ac175<\/strong><\/li>\n\n\n\n<li>Let op: sommige leveranciers rekenen terugleverkosten<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Dynamisch contract<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Overdag regelmatig \u20ac0,00 of negatief<\/li>\n\n\n\n<li>Extra productie levert weinig op<\/li>\n\n\n\n<li>Zelfconsumptie wordt steeds belangrijker<\/li>\n\n\n\n<li>Een thuisbatterij maakt het verschil tussen \u201cgratis stroom weggeven\u201d en \u201cgratis stroom gebruiken\u201d<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_abe161-5e .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_abe161-5e .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_abe161-5e\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd2e <strong>Vooruitblik naar 2026 en verder<\/strong><\/h2>\n\n\n\n<p>Hoewel 2025 uitzonderlijk zonnig was, zien we een duidelijke trend:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Meer zonnige voorjaarsmaanden<\/li>\n\n\n\n<li>Grotere verschillen tussen maanden<\/li>\n\n\n\n<li>Toenemende druk op het elektriciteitsnet<\/li>\n\n\n\n<li>Snellere adoptie van thuisbatterijen<\/li>\n\n\n\n<li>Slim energiebeheer wordt essentieel (Home Assistant, Homey, load\u2011balancing)<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_84d819-e8 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_84d819-e8 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_84d819-e8\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udce1 <strong>Waarom zonneschijnduur zo goed correleert met zonnepaneel\u2011opbrengst<\/strong><\/h2>\n\n\n\n<p>KNMI meet zonneschijnduur op basis van <strong>globale straling (Q in J\/cm\u00b2)<\/strong>, niet op basis van een simpele lichtsensor. Dat maakt de data extreem geschikt voor zonnepaneelanalyses.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Correlatie tussen zonneschijnduur en zonnepaneel\u2011opbrengst: <strong>&gt;99%<\/strong><\/li>\n\n\n\n<li>Temperatuur heeft slechts een klein effect op rendement<\/li>\n\n\n\n<li>Straling is veruit de belangrijkste factor<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_45396c-74 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_45396c-74 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_45396c-74\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddfe <strong>Conclusie<\/strong><\/h2>\n\n\n\n<p>2025 was een topjaar voor zonnepaneelbezitters. Dankzij <strong>15% meer zonuren<\/strong> steeg de gemiddelde opbrengst met <strong>16%<\/strong>. Voor huishoudens met een thuisbatterij was het jaar n\u00f3g gunstiger door lage dynamische tarieven en veel momenten van overproductie.<\/p>\n\n\n\n<p><strong>Belangrijk voor 2026:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zelfconsumptie wordt steeds waardevoller<\/li>\n\n\n\n<li>Terugleverkosten blijven stijgen<\/li>\n\n\n\n<li>Slim energiebeheer en opslag worden de nieuwe standaard<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_67f180-e9 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_67f180-e9 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_67f180-e9\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd0d <strong>Data &amp; verantwoording<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bron: KNMI\u2011weerstations De Bilt, Leeuwarden, Vlissingen, Hoek van Holland, Gilze\u2011Rijen, Maastricht<\/li>\n\n\n\n<li>Periode langjarig gemiddelde: <strong>2005\u20132024<\/strong><\/li>\n\n\n\n<li>Gebruikte parameters:\n<ul class=\"wp-block-list\">\n<li>Etmaalgemiddelde temperatuur (TG)<\/li>\n\n\n\n<li>Zonneschijnduur (berekend uit globale straling SQ)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-7990_1e61a7-71 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-7990_1e61a7-71 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-7990_1e61a7-71\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>2025 leverde 15% meer zon op en 560 kWh extra opbrengst. Ontdek wat dit betekent voor zonnepanelen, dynamische contracten en thuisbatterijen.<\/p>\n","protected":false},"author":2,"featured_media":8037,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[151,3],"tags":[],"class_list":["post-7990","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-energie-nettarieven-dynamisch-energietransitie","category-zonnepanelen-terugleverkosten-terugleverboete-boete"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>2025 breekt zonrecord: fors meer opwek zonnepanelen<\/title>\n<meta name=\"description\" content=\"2025 leverde 15% meer zon op en 560 kWh extra opbrengst. Ontdek wat dit betekent voor zonnepanelen, dynamische contracten en thuisbatterijen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2025 breekt zonrecord: fors meer opwek zonnepanelen\" \/>\n<meta property=\"og:description\" content=\"2025 leverde 15% meer zon op en 560 kWh extra opbrengst. Ontdek wat dit betekent voor zonnepanelen, dynamische contracten en thuisbatterijen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst\" \/>\n<meta property=\"og:site_name\" content=\"energienerds\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-29T19:56:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-08T22:02:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/energienerds.nl\/wp-content\/uploads\/2025\/12\/Foto-29-12-2025-om-21.04.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1958\" \/>\n\t<meta property=\"og:image:height\" content=\"1284\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mark\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mark\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst\"},\"author\":{\"name\":\"Mark\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#\\\/schema\\\/person\\\/f564facf0a5e65b3bd49bf6d385d0d5e\"},\"headline\":\"2025: zonovergoten jaar zorgt voor fors meer opwek uit zonnepanelen\",\"datePublished\":\"2025-12-29T19:56:55+00:00\",\"dateModified\":\"2026-04-08T22:02:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst\"},\"wordCount\":1104,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/energienerds.nl\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Foto-29-12-2025-om-21.04.png\",\"articleSection\":[\"Energie\",\"Zonnepanelen\"],\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst\",\"url\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst\",\"name\":\"2025 breekt zonrecord: fors meer opwek zonnepanelen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/energienerds.nl\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Foto-29-12-2025-om-21.04.png\",\"datePublished\":\"2025-12-29T19:56:55+00:00\",\"dateModified\":\"2026-04-08T22:02:15+00:00\",\"description\":\"2025 leverde 15% meer zon op en 560 kWh extra opbrengst. Ontdek wat dit betekent voor zonnepanelen, dynamische contracten en thuisbatterijen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/2025\\\/12\\\/29\\\/zonneschijnduur-2025-zonnepanelen-opbrengst#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/energienerds.nl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2025: zonovergoten jaar zorgt voor fors meer opwek uit zonnepanelen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#website\",\"url\":\"https:\\\/\\\/energienerds.nl\\\/\",\"name\":\"Energienerds\",\"description\":\"Onafhankelijke reviews van stekkerbatterijen &amp; jouw gids in slimme energie.\",\"publisher\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/energienerds.nl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#organization\",\"name\":\"Energienerds\",\"url\":\"https:\\\/\\\/energienerds.nl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/energienerds.nl\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/logo_trans.png\",\"contentUrl\":\"https:\\\/\\\/energienerds.nl\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/logo_trans.png\",\"width\":512,\"height\":512,\"caption\":\"Energienerds\"},\"image\":{\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.youtube.com\\\/@energienerds\",\"https:\\\/\\\/www.instagram.com\\\/energienerds.nl\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/energienerds\\\/\",\"https:\\\/\\\/bsky.app\\\/profile\\\/energienerds.bsky.social\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/energienerds.nl\\\/#\\\/schema\\\/person\\\/f564facf0a5e65b3bd49bf6d385d0d5e\",\"name\":\"Mark\",\"pronouns\":\"hij\\\/hem\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0d92b22b588ed614c1cbecb8fade4e78cc001bb4920da7a00284b8237670b696?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0d92b22b588ed614c1cbecb8fade4e78cc001bb4920da7a00284b8237670b696?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0d92b22b588ed614c1cbecb8fade4e78cc001bb4920da7a00284b8237670b696?s=96&d=mm&r=g\",\"caption\":\"Mark\"},\"description\":\"Mark Pullens is specialist in de energietransitie met een unieke combinatie van technische, financi\u00eble en marktinhoudelijke expertise. Hij werkte jarenlang bij de grootste energieleverancier van Nederland, waar hij verantwoordelijk was voor energie\u2011inkoop, brutomarge\u2011analyse, risicobeheer en het doorrekenen van prijsscenario\u2019s op de groothandelsmarkt. Dankzij die achtergrond begrijpt hij als geen ander hoe dynamische energiecontracten, onbalansprijzen en flexibiliteitsmarkten \u00e9cht functioneren. Zijn passie ligt bij slimme energieopslag, stekkerbatterijen, domotica en datagedreven energiesturing. Bij Energienerds test hij thuisbatterijen niet alleen op technische prestaties, maar vooral op economisch rendement binnen het Nederlandse energiesysteem: van round\u2011trip efficiency tot dynamische arbitrage, van nul\u2011op\u2011de\u2011meter\u2011strategie\u00ebn tot slimme koppelingen met P1\u2011meters, Home Assistant en AI\u2011gestuurde laadlogica. Met zijn combinatie van marktkennis, technische diepgang en praktische ervaring helpt Mark huishoudens om maximaal voordeel te halen uit dynamische tarieven, slimme sturing en moderne thuisbatterijen. Zijn analyses worden gezien als een van de meest onafhankelijke en betrouwbare bronnen in Nederland op het gebied van slimme energieopslag.\",\"sameAs\":[\"https:\\\/\\\/energienerds.nl\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/energienerds\\\/\"],\"url\":\"https:\\\/\\\/energienerds.nl\\\/index.php\\\/author\\\/mark\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2025 breekt zonrecord: fors meer opwek zonnepanelen","description":"2025 leverde 15% meer zon op en 560 kWh extra opbrengst. Ontdek wat dit betekent voor zonnepanelen, dynamische contracten en thuisbatterijen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst","og_locale":"nl_NL","og_type":"article","og_title":"2025 breekt zonrecord: fors meer opwek zonnepanelen","og_description":"2025 leverde 15% meer zon op en 560 kWh extra opbrengst. Ontdek wat dit betekent voor zonnepanelen, dynamische contracten en thuisbatterijen.","og_url":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst","og_site_name":"energienerds","article_published_time":"2025-12-29T19:56:55+00:00","article_modified_time":"2026-04-08T22:02:15+00:00","og_image":[{"width":1958,"height":1284,"url":"https:\/\/energienerds.nl\/wp-content\/uploads\/2025\/12\/Foto-29-12-2025-om-21.04.png","type":"image\/png"}],"author":"Mark","twitter_card":"summary_large_image","twitter_misc":{"Geschreven door":"Mark","Geschatte leestijd":"7 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst#article","isPartOf":{"@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst"},"author":{"name":"Mark","@id":"https:\/\/energienerds.nl\/#\/schema\/person\/f564facf0a5e65b3bd49bf6d385d0d5e"},"headline":"2025: zonovergoten jaar zorgt voor fors meer opwek uit zonnepanelen","datePublished":"2025-12-29T19:56:55+00:00","dateModified":"2026-04-08T22:02:15+00:00","mainEntityOfPage":{"@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst"},"wordCount":1104,"commentCount":0,"publisher":{"@id":"https:\/\/energienerds.nl\/#organization"},"image":{"@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst#primaryimage"},"thumbnailUrl":"https:\/\/energienerds.nl\/wp-content\/uploads\/2025\/12\/Foto-29-12-2025-om-21.04.png","articleSection":["Energie","Zonnepanelen"],"inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst#respond"]}]},{"@type":"WebPage","@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst","url":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst","name":"2025 breekt zonrecord: fors meer opwek zonnepanelen","isPartOf":{"@id":"https:\/\/energienerds.nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst#primaryimage"},"image":{"@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst#primaryimage"},"thumbnailUrl":"https:\/\/energienerds.nl\/wp-content\/uploads\/2025\/12\/Foto-29-12-2025-om-21.04.png","datePublished":"2025-12-29T19:56:55+00:00","dateModified":"2026-04-08T22:02:15+00:00","description":"2025 leverde 15% meer zon op en 560 kWh extra opbrengst. Ontdek wat dit betekent voor zonnepanelen, dynamische contracten en thuisbatterijen.","breadcrumb":{"@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/energienerds.nl\/index.php\/2025\/12\/29\/zonneschijnduur-2025-zonnepanelen-opbrengst#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/energienerds.nl\/"},{"@type":"ListItem","position":2,"name":"2025: zonovergoten jaar zorgt voor fors meer opwek uit zonnepanelen"}]},{"@type":"WebSite","@id":"https:\/\/energienerds.nl\/#website","url":"https:\/\/energienerds.nl\/","name":"Energienerds","description":"Onafhankelijke reviews van stekkerbatterijen &amp; jouw gids in slimme energie.","publisher":{"@id":"https:\/\/energienerds.nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/energienerds.nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/energienerds.nl\/#organization","name":"Energienerds","url":"https:\/\/energienerds.nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/energienerds.nl\/#\/schema\/logo\/image\/","url":"https:\/\/energienerds.nl\/wp-content\/uploads\/2025\/03\/logo_trans.png","contentUrl":"https:\/\/energienerds.nl\/wp-content\/uploads\/2025\/03\/logo_trans.png","width":512,"height":512,"caption":"Energienerds"},"image":{"@id":"https:\/\/energienerds.nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.youtube.com\/@energienerds","https:\/\/www.instagram.com\/energienerds.nl","https:\/\/www.linkedin.com\/in\/energienerds\/","https:\/\/bsky.app\/profile\/energienerds.bsky.social"]},{"@type":"Person","@id":"https:\/\/energienerds.nl\/#\/schema\/person\/f564facf0a5e65b3bd49bf6d385d0d5e","name":"Mark","pronouns":"hij\/hem","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/secure.gravatar.com\/avatar\/0d92b22b588ed614c1cbecb8fade4e78cc001bb4920da7a00284b8237670b696?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0d92b22b588ed614c1cbecb8fade4e78cc001bb4920da7a00284b8237670b696?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0d92b22b588ed614c1cbecb8fade4e78cc001bb4920da7a00284b8237670b696?s=96&d=mm&r=g","caption":"Mark"},"description":"Mark Pullens is specialist in de energietransitie met een unieke combinatie van technische, financi\u00eble en marktinhoudelijke expertise. Hij werkte jarenlang bij de grootste energieleverancier van Nederland, waar hij verantwoordelijk was voor energie\u2011inkoop, brutomarge\u2011analyse, risicobeheer en het doorrekenen van prijsscenario\u2019s op de groothandelsmarkt. Dankzij die achtergrond begrijpt hij als geen ander hoe dynamische energiecontracten, onbalansprijzen en flexibiliteitsmarkten \u00e9cht functioneren. Zijn passie ligt bij slimme energieopslag, stekkerbatterijen, domotica en datagedreven energiesturing. Bij Energienerds test hij thuisbatterijen niet alleen op technische prestaties, maar vooral op economisch rendement binnen het Nederlandse energiesysteem: van round\u2011trip efficiency tot dynamische arbitrage, van nul\u2011op\u2011de\u2011meter\u2011strategie\u00ebn tot slimme koppelingen met P1\u2011meters, Home Assistant en AI\u2011gestuurde laadlogica. Met zijn combinatie van marktkennis, technische diepgang en praktische ervaring helpt Mark huishoudens om maximaal voordeel te halen uit dynamische tarieven, slimme sturing en moderne thuisbatterijen. Zijn analyses worden gezien als een van de meest onafhankelijke en betrouwbare bronnen in Nederland op het gebied van slimme energieopslag.","sameAs":["https:\/\/energienerds.nl\/","https:\/\/www.linkedin.com\/in\/energienerds\/"],"url":"https:\/\/energienerds.nl\/index.php\/author\/mark"}]}},"lang":"nl","translations":{"nl":7990},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/posts\/7990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/comments?post=7990"}],"version-history":[{"count":56,"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/posts\/7990\/revisions"}],"predecessor-version":[{"id":14798,"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/posts\/7990\/revisions\/14798"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/media\/8037"}],"wp:attachment":[{"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/media?parent=7990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/categories?post=7990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/energienerds.nl\/index.php\/wp-json\/wp\/v2\/tags?post=7990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}