{"id":29417,"date":"2022-01-14T07:46:18","date_gmt":"2022-01-14T06:46:18","guid":{"rendered":"https:\/\/swiss-energypark.com\/?page_id=29417"},"modified":"2026-03-04T23:58:37","modified_gmt":"2026-03-04T22:58:37","slug":"microgrid","status":"publish","type":"page","link":"https:\/\/swiss-energypark.com\/de\/microgrid\/","title":{"rendered":"Microgrid"},"content":{"rendered":"<p><div class=\"fusion-bg-parallax\" data-bg-align=\"center top\" data-direction=\"down\" data-mute=\"false\" data-opacity=\"100\" data-velocity=\"-0.3\" data-mobile-enabled=\"false\" data-break_parents=\"0\" data-bg-image=\"https:\/\/swiss-energypark.com\/wp-content\/uploads\/2022\/02\/wind-turbine-energy-generaters-on-wind-farm-mood-swiss-energypark.jpg\" data-bg-repeat=\"false\" data-bg-color=\"#6a8a76\" data-blend-mode=\"multiply\" ><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container fusion-parallax-down nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-background-position:center top;--awb-background-blend-mode:multiply;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top-medium:100px;--awb-padding-top-small:0px;--awb-min-height:500px;--awb-min-height-small:350px;--awb-background-color:#6a8a76;--awb-background-image:url(&quot;https:\/\/swiss-energypark.com\/wp-content\/uploads\/2022\/02\/wind-turbine-energy-generaters-on-wind-farm-mood-swiss-energypark.jpg&quot;);--awb-background-size:cover;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-end fusion-flex-content-wrap\" style=\"max-width:1296px;margin-left: calc(-8% \/ 2 );margin-right: calc(-8% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-padding-bottom:64px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.68%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:3.68%;--awb-spacing-left-medium:3.68%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:3.68%;--awb-spacing-left-small:3.68%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"--awb-text-color:#ffffff;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h1 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">Microgrid<\/h1><\/div><\/div><\/div><\/div><\/div>\n<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:60px;--awb-padding-bottom:30px;--awb-background-color:#eaeaea;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1296px;margin-left: calc(-8% \/ 2 );margin-right: calc(-8% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-animated\" style=\"--awb-padding-bottom:20px;--awb-padding-bottom-medium:40px;--awb-padding-bottom-small:20px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:3.68%;--awb-spacing-left-medium:3.68%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:3.68%;--awb-spacing-left-small:3.68%;\" data-animationType=\"fadeInUp\" data-animationDuration=\"0.8\" data-animationOffset=\"bottom-in-view\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">So funktioniert ein Microgrid<\/h3><\/div><div class=\"fusion-text fusion-text-1 awb-text-cols fusion-text-columns-2\" style=\"--awb-font-size:var(--awb-typography4-font-size);--awb-line-height:var(--awb-typography4-line-height);--awb-letter-spacing:var(--awb-typography4-letter-spacing);--awb-text-transform:var(--awb-typography4-text-transform);--awb-columns:2;--awb-column-spacing:2em;--awb-column-min-width:100px;--awb-text-font-family:var(--awb-typography4-font-family);--awb-text-font-weight:var(--awb-typography4-font-weight);--awb-text-font-style:var(--awb-typography4-font-style);\"><div class=\"flex_column av_two_third flex_column_div first avia-builder-el-1 el_after_av_heading avia-builder-el-last \">\n<section class=\"av_textblock_section \">\n<div class=\"avia_textblock \">\n<p>Mit der dezentralen Energieerzeugung \u2013 haupts\u00e4chlich durch Fotovoltaikanlagen \u2013 wird der Aufbau so genannter Microgrids erm\u00f6glicht. Microgrids sind abgeschlossene Netzgebiete, die inselbetriebsf\u00e4hig sind, zumeist jedoch im Netzverbund betrieben werden. Auf Gemeindeebene lassen sich erneuerbare Energien, Energiespeicherung und eine intelligente Verteilung lokal vereinen. Ein geeignetes Lastmanagement stimmt Erzeugung und Verbrauch aufeinander ab. Microgrids werden damit zu Bestandteilen des intelligenten Verteilnetzes, des so genannten Smart Grids.<\/p>\n<\/div>\n<\/section>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling bordered-column-section\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:120px;--awb-padding-bottom:100px;--awb-padding-bottom-small:40px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">Messungen in Echtzeit<\/h3><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_3 1_3 fusion-flex-column fusion-animated\" style=\"--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:20px;--awb-padding-left:20px;--awb-bg-size:cover;--awb-border-color:#00925b;--awb-border-top:1px;--awb-border-right:1px;--awb-border-bottom:1px;--awb-border-left:8px;--awb-border-style:solid;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:5.76%;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:5.76%;--awb-spacing-left-medium:5.76%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-margin-bottom-small:20px;--awb-spacing-left-small:1.92%;\" data-animationType=\"fadeInUp\" data-animationDuration=\"0.8\" data-animationOffset=\"bottom-in-view\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\" style=\"--awb-content-alignment:center;--awb-text-transform:none;--awb-text-color:#000000;--awb-text-font-family:&quot;Heebo&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p>Gesamtproduktion<\/p>\n<\/div><div class=\"fusion-widget-area awb-widget-area-element fusion-widget-area-1 fusion-content-widget-area\" style=\"--awb-title-color:#000000;--awb-padding:0px 0px 0px 0px;\"><div id=\"custom_html-24\" class=\"widget_text widget widget_custom_html\" style=\"border-style: solid;border-color:transparent;border-width:0px;\"><div class=\"textwidget custom-html-widget\"><style>\r\n    .production-kpi-container {\r\n        width: 100%;\r\n        max-width: 100%;\r\n        text-align: center;\r\n    }\r\n<\/style>\r\n<div class=\"production-kpi-container\">\r\n    <span class=\"production-kpi-value\"><\/span>\r\n<\/div>\r\n<script>\r\n    document.onload = init();\r\n\r\n    function init() {\r\n        let widgetSignals = [{\r\n            alias: 'wind_production',\r\n            signal: 'WI_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'water_production',\r\n            signal: 'HY_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'solar_production',\r\n            signal: 'SL_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }];\r\n        let translatedTexts = [{\r\n            langKey: 'de',\r\n            production: 'Produktion'\r\n        }, {\r\n            langKey: 'fr',\r\n            production: 'Production'\r\n        }, {\r\n            langKey: 'en',\r\n            production: 'Production'\r\n        }];\r\n        let translationIndex = 0;\r\n        let widgetQueryInterval = 60; \/\/seconds (3600 seconds = 1hour);\r\n        setTimeout(() => {\r\n            if (window.location.href.includes('\/fr\/')) {\r\n                translationIndex = 1;\r\n            }\r\n            if (window.location.href.includes('\/en\/')) {\r\n                translationIndex = 2;\r\n            }\r\n            loadWidgetStyles();\r\n            setInterval(() => {\r\n                loadWidgetStyles();\r\n            }, widgetQueryInterval * 1000)\r\n        }, 10);\r\n        window.addEventListener('resize', resize);\r\n\r\n        function resize() {\r\n            document.getElementsByClassName('production-kpi-value')[0].style.fontSize = window.innerWidth < 800 ? (SEPWidgetConfig.productionValueWidget.valueFontSize - 1) + 'rem' : SEPWidgetConfig.productionValueWidget.valueFontSize + 'rem';\r\n        }\r\n        async function loadWidgetStyles() {\r\n            await loadData();\r\n            document.getElementsByClassName('production-kpi-value')[0].style.fontSize = SEPWidgetConfig.productionValueWidget.valueFontSize + 'rem';\r\n            document.getElementsByClassName('production-kpi-value')[0].style.color = SEPWidgetConfig.productionValueWidget.valueColor;\r\n        }\r\n        async function loadData() {\r\n            const data = await getData();\r\n            console.log(data);\r\n            prepareWidgetData(data);\r\n        }\r\n\r\n        function parseHighComma(value) {\r\n            return value.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \"'\");\r\n        }\r\n\r\n        function prepareWidgetData(rawData) {\r\n            let data = [];\r\n            for (const i of widgetSignals) {\r\n                if (rawData.data[i.alias][0].data.lastValue.length > 0) {\r\n                   const total = rawData.data[i.alias][0].data.lastValue.reduce(\r\n  (acc, d) => acc + d.Value \/ 1000,\r\n  0\r\n);\r\n\t\t\t\t\t\t\t\t\tdata.push(total);\r\n                } else {\r\n                    data.push(0);\r\n                }\r\n            }\r\n            document.getElementsByClassName('production-kpi-value')[0].innerHTML = parseHighComma(Number(data.reduce((a, b) => a + b)).toFixed(0));\r\n        }\r\n        async function getData() {\r\n            let step = 60;\r\n            let queryString = 'query {';\r\n            for (const i of widgetSignals) {\r\n                queryString += `\r\n        ${i.alias}: SIGNALS (where: {code: \"${i.signal}\"}){\r\n          name\r\n          unit\r\n          data {\r\n\t\t\t\t\t\tlastValue {\r\n\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t\tValue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n        }\r\n      `\r\n            };\r\n            queryString += '}'\r\n            const data = JSON.stringify({\r\n                query: queryString\r\n            });\r\n            const response = await fetch(\r\n                SEPWidgetConfig.apiServerURL, {\r\n                    method: 'post',\r\n                    body: data,\r\n                    headers: {\r\n                        'Content-Type': 'application\/json',\r\n                        'Content-Length': data.length\r\n                    },\r\n                }\r\n            );\r\n            return await response.json();\r\n        }\r\n    }\r\n<\/script><\/div><\/div><div class=\"fusion-additional-widget-content\"><\/div><\/div><div class=\"fusion-text fusion-text-3 fusion-text-no-margin\" style=\"--awb-content-alignment:center;--awb-font-size:16px;--awb-text-transform:none;--awb-text-color:#000000;--awb-margin-bottom:0px;--awb-text-font-family:&quot;Heebo&quot;;--awb-text-font-style:normal;--awb-text-font-weight:700;\"><p>kW<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_3 1_3 fusion-flex-column fusion-animated\" style=\"--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:20px;--awb-padding-left:20px;--awb-bg-size:cover;--awb-border-color:#00925b;--awb-border-top:1px;--awb-border-right:1px;--awb-border-bottom:1px;--awb-border-left:8px;--awb-border-style:solid;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:5.76%;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:5.76%;--awb-spacing-left-medium:5.76%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-margin-bottom-small:20px;--awb-spacing-left-small:1.92%;\" data-animationType=\"fadeInUp\" data-animationDuration=\"0.8\" data-animationOffset=\"bottom-in-view\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4\" style=\"--awb-content-alignment:center;--awb-text-transform:none;--awb-text-color:#000000;--awb-text-font-family:&quot;Heebo&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p>Gesamtverbrauch<\/p>\n<\/div><div class=\"fusion-widget-area awb-widget-area-element fusion-widget-area-2 fusion-content-widget-area\" style=\"--awb-title-color:#000000;--awb-padding:0px 0px 0px 0px;\"><div id=\"custom_html-21\" class=\"widget_text widget widget_custom_html\" style=\"border-style: solid;border-color:transparent;border-width:0px;\"><div class=\"textwidget custom-html-widget\"><style>\r\n    .consumption-kpi-container {\r\n        width: 100%;\r\n        max-width: 100%;\r\n        text-align: center;\r\n    }\r\n<\/style>\r\n<div class=\"consumption-kpi-container\">\r\n    <span class=\"consumption-kpi-value\"><\/span>\r\n<\/div>\r\n<script>\r\n    document.onload = init();\r\n\r\n    function init() {\r\n        let widgetSignals = [{\r\n            alias: 'wind_production',\r\n            signal: 'WI_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'water_production',\r\n            signal: 'HY_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'solar_production',\r\n            signal: 'SL_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'global_production',\r\n            signal: 'GL_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }];\r\n        let translatedTexts = [{\r\n            langKey: 'de',\r\n            consumption: 'Verbrauch'\r\n        }, {\r\n            langKey: 'fr',\r\n            consumption: 'Consommation'\r\n        }, {\r\n            langKey: 'en',\r\n            consumption: 'Consumption'\r\n        }];\r\n        let translationIndex = 0;\r\n        let widgetQueryInterval = 60; \/\/seconds (3600 seconds = 1hour);\r\n        setTimeout(() => {\r\n            if (window.location.href.includes('\/fr\/')) {\r\n                translationIndex = 1;\r\n            }\r\n            if (window.location.href.includes('\/en\/')) {\r\n                translationIndex = 2;\r\n            }\r\n            loadWidgetStyles();\r\n            setInterval(() => {\r\n                loadWidgetStyles();\r\n            }, widgetQueryInterval * 1000)\r\n        }, 10);\r\n        window.addEventListener('resize', resize);\r\n\r\n        function resize() {\r\n            document.getElementsByClassName('consumption-kpi-value')[0].style.fontSize = window.innerWidth < 800 ? (SEPWidgetConfig.consumptionValueWidget.valueFontSize - 1) + 'rem' : SEPWidgetConfig.consumptionValueWidget.valueFontSize + 'rem';\r\n        }\r\n        async function loadWidgetStyles() {\r\n            await loadData();\r\n            document.getElementsByClassName('consumption-kpi-value')[0].style.fontSize = SEPWidgetConfig.consumptionValueWidget.valueFontSize + 'rem';\r\n            document.getElementsByClassName('consumption-kpi-value')[0].style.color = SEPWidgetConfig.consumptionValueWidget.valueColor;\r\n        }\r\n        async function loadData() {\r\n            const data = await getData();\r\n            prepareWidgetData(data);\r\n        }\r\n\r\n        function parseHighComma(value) {\r\n            return value.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \"'\");\r\n        }\r\n\r\n        function prepareWidgetData(rawData) {\r\n            let data = [];\r\n            for (const i of widgetSignals) {\r\n                if (rawData.data[i.alias][0].data.lastValue.length > 0) {\r\n                    const total = rawData.data[i.alias][0].data.lastValue.reduce(\r\n  (acc, d) => acc + d.Value \/ 1000,\r\n  0\r\n);\r\n\t\t\t\t\t\t\t\t\tdata.push(total);\r\n                } else {\r\n                    data.push(0);\r\n                }\r\n            }\r\n            const totalConsumption = data[0] + data[1] + data[2] - data[3];\r\n            document.getElementsByClassName('consumption-kpi-value')[0].innerHTML = parseHighComma(Number(totalConsumption).toFixed(0));\r\n        }\r\n        async function getData() {\r\n            let step = 60;\r\n            let queryString = 'query {';\r\n            for (const i of widgetSignals) {\r\n                queryString += `\r\n        ${i.alias}: SIGNALS (where: {code: \"${i.signal}\"}){\r\n          name\r\n          unit\r\n          data {\r\n\t\t\t\t\t\tlastValue {\r\n\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t\tValue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n        }\r\n      `\r\n            };\r\n            queryString += '}'\r\n            const data = JSON.stringify({\r\n                query: queryString\r\n            });\r\n            const response = await fetch(\r\n                SEPWidgetConfig.apiServerURL, {\r\n                    method: 'post',\r\n                    body: data,\r\n                    headers: {\r\n                        'Content-Type': 'application\/json',\r\n                        'Content-Length': data.length\r\n                    },\r\n                }\r\n            );\r\n            return await response.json();\r\n        }\r\n    }\r\n<\/script><\/div><\/div><div class=\"fusion-additional-widget-content\"><\/div><\/div><div class=\"fusion-text fusion-text-5 fusion-text-no-margin\" style=\"--awb-content-alignment:center;--awb-font-size:16px;--awb-text-transform:none;--awb-text-color:#000000;--awb-margin-bottom:0px;--awb-text-font-family:&quot;Heebo&quot;;--awb-text-font-style:normal;--awb-text-font-weight:700;\"><p>kW<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_3 1_3 fusion-flex-column fusion-animated\" style=\"--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:20px;--awb-padding-left:20px;--awb-bg-size:cover;--awb-border-color:#00925b;--awb-border-top:1px;--awb-border-right:1px;--awb-border-bottom:1px;--awb-border-left:8px;--awb-border-style:solid;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:5.76%;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:5.76%;--awb-spacing-left-medium:5.76%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\" data-animationType=\"fadeInUp\" data-animationDuration=\"0.8\" data-animationOffset=\"bottom-in-view\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-6\" style=\"--awb-content-alignment:center;--awb-text-transform:none;--awb-text-color:#000000;--awb-text-font-family:&quot;Heebo&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p>Eigenverbrauchsgrad<\/p>\n<\/div><div class=\"fusion-widget-area awb-widget-area-element fusion-widget-area-3 fusion-content-widget-area\" style=\"--awb-title-color:#000000;--awb-padding:0px 0px 0px 0px;\"><div id=\"custom_html-26\" class=\"widget_text widget widget_custom_html\" style=\"border-style: solid;border-color:transparent;border-width:0px;\"><div class=\"textwidget custom-html-widget\"><style>\r\n    .self-coverage-kpi-container {\r\n        width: 100%;\r\n        max-width: 100%;\r\n        text-align: center;\r\n    }\r\n    \r\n    .tippy-box {\r\n        background-color: white !important;\r\n        box-shadow: 0px 0px 10px #c8cacc;\r\n    }\r\n    \r\n    .tippy-arrow:before {\r\n        border-right-color: white !important;\r\n    }\r\n    \r\n    .tooltip-content {\r\n        text-align: left;\r\n        padding: 10px 20px;\r\n        background-color: white;\r\n        border: none;\r\n    }\r\n<\/style>\r\n<script src=\"https:\/\/unpkg.com\/@popperjs\/core@2\/dist\/umd\/popper.min.js\"><\/script>\r\n<script src=\"https:\/\/unpkg.com\/tippy.js@6\/dist\/tippy-bundle.umd.js\"><\/script>\r\n<div class=\"self-coverage-kpi-container\">\r\n    <span class=\"self-coverage-kpi-value\"><\/span>\r\n<\/div>\r\n<script>\r\n    document.onload = init();\r\n\r\n    function init() {\r\n        let widgetSignals = [{\r\n            alias: 'wind_production',\r\n            signal: 'WI_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'water_production',\r\n            signal: 'HY_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'solar_production',\r\n            signal: 'SL_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }, {\r\n            alias: 'global_production',\r\n            signal: 'GL_ActPower_mag_f',\r\n            aggregationType: 'SUM'\r\n        }];\r\n        let translatedTexts = [{\r\n            langKey: 'de',\r\n            selfCoverage: 'Eigendeckungsgrad',\r\n            import: 'Import',\r\n            export: 'Export'\r\n        }, {\r\n            langKey: 'fr',\r\n            selfCoverage: 'Auto-couverture',\r\n            import: 'Import',\r\n            export: 'Export'\r\n        }, {\r\n            langKey: 'en',\r\n            selfCoverage: 'Self Coverage',\r\n            import: 'Import',\r\n            export: 'Export'\r\n        }];\r\n        let translationIndex = 0;\r\n        let widgetQueryInterval = 60; \/\/seconds (3600 seconds = 1hour);\r\n        setTimeout(() => {\r\n            if (window.location.href.includes('\/fr\/')) {\r\n                translationIndex = 1;\r\n            }\r\n            if (window.location.href.includes('\/en\/')) {\r\n                translationIndex = 2;\r\n            }\r\n            loadWidgetStyles();\r\n            createTooltip();\r\n            setInterval(() => {\r\n                loadWidgetStyles();\r\n            }, widgetQueryInterval * 1000);\r\n        }, 10);\r\n        window.addEventListener('resize', resize);\r\n\r\n        function resize() {\r\n            document.getElementsByClassName('self-coverage-kpi-value')[0].style.fontSize = window.innerWidth < 800 ? (SEPWidgetConfig.selfCoverageValueWidget.valueFontSize - 1) + 'rem' : SEPWidgetConfig.selfCoverageValueWidget.valueFontSize + 'rem';\r\n        }\r\n        async function loadWidgetStyles() {\r\n            await loadData();\r\n            document.getElementsByClassName('self-coverage-kpi-value')[0].style.fontSize = SEPWidgetConfig.selfCoverageValueWidget.valueFontSize + 'rem';\r\n            document.getElementsByClassName('self-coverage-kpi-value')[0].style.color = SEPWidgetConfig.selfCoverageValueWidget.valueColor;\r\n        }\r\n\r\n        function createTooltip() {\r\n            tippy('.self-coverage-kpi-value', {\r\n                theme: 'light-border',\r\n                placement: 'right',\r\n                animation: 'fade',\r\n                arrow: true,\r\n                allowHTML: true,\r\n            });\r\n        }\r\n        async function loadData() {\r\n            const data = await getData();\r\n            prepareWidgetData(data);\r\n        }\r\n\r\n        function parseHighComma(value) {\r\n            return value.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \"'\");\r\n        }\r\n\r\n        function prepareWidgetData(rawData) {\r\n            let data = [];\r\n            for (const i of widgetSignals) {\r\n                if (rawData.data[i.alias][0].data.lastValue.length > 0) {\r\n                   const total = rawData.data[i.alias][0].data.lastValue.reduce(\r\n  (acc, d) => acc + d.Value \/ 1000,\r\n  0\r\n);\r\n\t\t\t\t\t\t\t\t\tdata.push(total);\r\n                } else {\r\n                    data.push(0);\r\n                }\r\n            }\r\n            const totalProduction = Number(data[0] + data[1] + data[2]).toFixed(0);\r\n            const totalConsumption = Number(Math.abs(data[0]) + data[1] + data[2] - data[3]).toFixed(0);\r\n            const totalImport = data[3] < 0 ? Math.abs(data[3]) : 0;\r\n            const totalExport = data[3] > 0 ? Math.abs(data[3]) : 0;\r\n            const selfCoveragePercentage = totalConsumption > 0 ? Number(totalProduction * 100 \/ totalConsumption).toFixed(0) : Number(totalConsumption * 100 \/ totalProduction).toFixed(0);\r\n            document.getElementsByClassName('self-coverage-kpi-value')[0].innerHTML = Number(selfCoveragePercentage).toFixed(0);\r\n            const tippyInstance = document.querySelector('.self-coverage-kpi-value');\r\n            tippyInstance._tippy.setContent(`<div class=\"tooltip-content\">\r\n        <span style=\"font-size: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipTitlesFontSize}rem; color: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipTitlesColor}\">${translatedTexts[translationIndex].import}<\/span><br>\r\n        <span style=\"font-size: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipValuesFontSize}rem; color: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipValuesColor}\">${parseHighComma(Number(totalImport).toFixed(0))} kW<\/span><br>\r\n        <span style=\"font-size: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipTitlesFontSize}rem; color: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipTitlesColor}\">${translatedTexts[translationIndex].export}<\/span><br>\r\n        <span style=\"font-size: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipValuesFontSize}rem; color: ${SEPWidgetConfig.selfCoverageValueWidget.tooltipValuesColor}\">${parseHighComma(Number(totalExport).toFixed(0))} kW<\/span>\r\n      <\/div>`);\r\n        }\r\n        async function getData() {\r\n            let step = 60;\r\n            let queryString = 'query {';\r\n            for (const i of widgetSignals) {\r\n                queryString += `\r\n        ${i.alias}: SIGNALS (where: {code: \"${i.signal}\"}){\r\n          name\r\n          unit\r\n          data {\r\n\t\t\t\t\t\tlastValue {\r\n\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t\tValue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n        }\r\n      `\r\n            };\r\n            queryString += '}'\r\n            const data = JSON.stringify({\r\n                query: queryString\r\n            });\r\n            const response = await fetch(\r\n                SEPWidgetConfig.apiServerURL, {\r\n                    method: 'post',\r\n                    body: data,\r\n                    headers: {\r\n                        'Content-Type': 'application\/json',\r\n                        'Content-Length': data.length\r\n                    },\r\n                }\r\n            );\r\n            return await response.json();\r\n        }\r\n    }\r\n<\/script><\/div><\/div><div class=\"fusion-additional-widget-content\"><\/div><\/div><div class=\"fusion-text fusion-text-7 fusion-text-no-margin\" style=\"--awb-content-alignment:center;--awb-font-size:16px;--awb-text-transform:none;--awb-text-color:#000000;--awb-margin-bottom:0px;--awb-text-font-family:&quot;Heebo&quot;;--awb-text-font-style:normal;--awb-text-font-weight:700;\"><p>%<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1296px;margin-left: calc(-8% \/ 2 );margin-right: calc(-8% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-padding-top:50px;--awb-padding-top-medium:40px;--awb-padding-top-small:20px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:3.68%;--awb-spacing-left-medium:3.68%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:3.68%;--awb-spacing-left-small:3.68%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">Produktionsverlauf nach Stromquelle<\/h3><\/div><div class=\"fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\"><p class=\"p1\"><b>Wichtiger Hinweis zur Datenintegrit\u00e4t<\/b><\/p><\/h3><\/div><div class=\"fusion-text fusion-text-8\"><p class=\"p1\">Im Rahmen der Optimierung und Zentralisierung der Daten des <span class=\"s1\"><b>Swiss Energypark<\/b><\/span> f\u00fchren wir derzeit eine schrittweise Konsolidierung der angezeigten Informationen durch. Dieser Prozess kann vor\u00fcbergehend zu Unstimmigkeiten oder Abweichungen zwischen den ver\u00f6ffentlichten Daten und der tats\u00e4chlichen Situation f\u00fchren.<\/p>\n<p class=\"p1\">Wir danken Ihnen f\u00fcr Ihr Verst\u00e4ndnis und stehen f\u00fcr R\u00fcckfragen jederzeit zur Verf\u00fcgung.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#eaeaea;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1296px;margin-left: calc(-8% \/ 2 );margin-right: calc(-8% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-animated\" style=\"--awb-padding-top:96px;--awb-padding-bottom:96px;--awb-padding-top-medium:40px;--awb-padding-top-small:20px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.68%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:3.68%;--awb-spacing-left-medium:3.68%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:3.68%;--awb-spacing-left-small:3.68%;\" data-animationType=\"fadeInUp\" data-animationDuration=\"0.8\" data-animationOffset=\"bottom-in-view\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">Microgrid des Swiss Energyparks<\/h3><\/div><div class=\"fusion-text fusion-text-9 awb-text-cols fusion-text-columns-2\" style=\"--awb-text-transform:none;--awb-columns:2;--awb-column-spacing:2em;--awb-column-min-width:100px;--awb-text-font-family:&quot;Heebo&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><div class=\"flex_column av_two_third flex_column_div first avia-builder-el-1 el_after_av_heading avia-builder-el-last \">\n<section class=\"av_textblock_section \">\n<div class=\"avia_textblock \">\n<p>Das Prinzip eines Microgrids wird im Swiss Energypark erprobt. Mit ihren lokal produzierenden Wind-, Wasser- und Fotovoltaikanlagen deckt die Region im Jahresdurchschnitt fast vollst\u00e4ndig ihren Verbrauch: 147 GWh Bedarf stehen 127 GWh Erzeugung gegen\u00fcber. Die Produktion umfasst die tats\u00e4chliche, physisch produzierte Energie in der Region. Diese ist jedoch nicht deckungsgleich mit dem effektiv gelieferten Strommix an die Kundinnen und Kunden. Die Differenz bezieht die Region \u00fcber das Stromnetz und die drei Unterstationen Saint-Imier, Le Noirmont und Mont-Soleil. Die Unterstationen versorgen die Region mit Mittelspannung, die von \u00fcber 200 Trafostationen auf Niederspannung umgewandelt wird.<\/p>\n<p>Die Vorteile und der Nutzen von Microgrids sind:<\/p>\n<ul>\n<li>die Reduktion von \u00dcbertragungsverlusten,<\/li>\n<li>eine bessere Integration von dezentralen Energiequellen<\/li>\n<li>und die Ausbauvermeidung des Netzes auf tieferen Netzebenen.<\/li>\n<\/ul>\n<\/div>\n<\/section>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":29985,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"footnotes":""},"class_list":["post-29417","page","type-page","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/pages\/29417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/comments?post=29417"}],"version-history":[{"count":12,"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/pages\/29417\/revisions"}],"predecessor-version":[{"id":33308,"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/pages\/29417\/revisions\/33308"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/media\/29985"}],"wp:attachment":[{"href":"https:\/\/swiss-energypark.com\/de\/wp-json\/wp\/v2\/media?parent=29417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}